Почему «1»> 2 ложно? - PullRequest
       15

Почему «1»> 2 ложно?

3 голосов
/ 18 декабря 2010

Как я думаю, каждый язык программирования сравнивает int и char при поведении ASCII, значение char

Я новичок в Java-Expression-Language. Теперь я создал файл .jsp в NETBEANS 5.5.1

КОД:

   <%=('1' > 2)?"true":"false"%>   //true
    ${('1' > 2)?"true":"false"}    //false

В чем разница в этих выражениях?

Ответы [ 2 ]

7 голосов
/ 18 декабря 2010

EL не имеет понятия char.Это было обработано как String.Одинарные или двойные кавычки, это не имеет значения, это String.

Более подробно об EL можно найти в спецификации EL 2.2 .

4 голосов
/ 18 декабря 2010

В JSP EL нет буквенного типа. «a» определяет строку, содержащую одну букву a, а не символ java. Затем оценщик JSP EL заставляет обе стороны быть одинаковыми, чтобы их можно было фактически сравнить. Числа имеют более высокий приоритет, чем строки, поэтому «1» приводится к целому числу 1, а затем выполняется сравнение.

...