2013-04-17 3 views
4
return (int) (feetPart) + '\' ' + inchesPart + '\''+'\''; 

Почему указанная недопустимая символьная константа, это отлично работает в JavaScript. Я хочу отображать высоту в футах и ​​дюймах и использовал эту клиентскую сторону, но когда я использую ее на стороне сервера, она показывает Invalid character constant.Недопустимая константа символов в java

+5

Java не является JavaScript! – Patrick

+0

Дубликат http://stackoverflow.com/questions/6002366/invalid-character-constant – jazzbassrob

+0

Предотвращение недоразумений. Javascript - это не то же самое, что Java. JS - это язык сценариев, разработанный Netscape Inc. в начале девяностых. Java - ориентированный на объект язык для разработки полностью автономных приложений, разработанных Sun Inc. – reporter

ответ

18

Почему выше недопустимый символ постоянной

Из этой части:

'\' ' 

Это пытается указать на характер буквальный, который на самом деле два символа (апостроф и пространство). Литеральный символ должен быть ровно одним символом.

Если вы хотите указать «апостроф пространство», вы должны использовать строковые литералы вместо этого - в какой момент апостроф не должен быть экранирован:

"' " 

Вашего целое заявление будет лучше, так как:

return (int) (feetPart) + "' " + inchesPart + "''"; 

Или использовать " вместо '' для дюймов:

return (int) feetPart + "' " + inchesPart + "\""; 

Обратите внимание, что это даже не ясно, что исходный код будет делать то, что вы хотите, если это сделал компиляции, как я подозреваю, что это было бы выполнено целочисленную арифметику на feetPart и характер ...

Ваш код будет были в порядке в Javascript, потому что для строковых литералов используются как одиночные кавычки, так и двойные кавычки.

Смежные вопросы