идентификаторы Java - PullRequest
       3

идентификаторы Java

2 голосов
/ 30 июня 2010

Везде говорится, что идентификатор Java может начинаться со всех символов (но не цифр), включая $ и _

, но я заметил, что такие методы, как isJavaIdentifierStart, возвращают true и для других символов, например§, £, и т. Д.

Однако правильно ли начинать идентификатор с имеющихся там символов?

Ответы [ 2 ]

5 голосов
/ 30 июня 2010

Если isJavaIdentifierStart возвращает для него значение true, тогда по определению , это действительный начальный символ идентификатора Java, потому что это как спецификация определяет его :

Identifier:
IdentifierChars, но не Keyword или BooleanLiteral или NullLiteral
IdentifierChars:
JavaLetter
IdentifierChars JavaLetterOrDigit
JavaLetter:
любой символ Unicode, являющийся буквой Java (см. Ниже)
JavaLetterOrDigit:
любой символ Unicode, представляющий собой букву или цифру Java (см. Ниже)
...
«Буква Java» - это символ, для которого возвращается метод Character.isJavaIdentifierStart(int)true.

0 голосов
/ 30 июня 2010

Метод означает, что он говорит.

Возвращает false для §, потому что это не буква, Character.getType('§') не Character.LETTER_NUMBER, это не символ валюты и это не пунктуация характер.

Это верно для двух символов валюты, потому что это особый критерий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...