Everywhere据说Java标识符可以包含所有字符(但不是数字),包括$
和_
但是我注意到像isJavaIdentifierStart
这样的方法也会为其他字符返回true
例如§
,£
,€
等
是否正确启动带有字符的标识符?
答案 0 :(得分:5)
如果isJavaIdentifierStart
为它返回true,那么按照定义,它是一个有效的Java标识符起始字符,因为那是how the specification defines it:
标识符:
IdentifierChars但不是Keyword或BooleanLiteral或NullLiteral
IdentifierChars:
JavaLetter
IdentifierChars JavaLetterOrDigit
JavaLetter:
任何Java字母的Unicode字符(见下文)
JavaLetterOrDigit:
任何Java字母或数字的Unicode字符(见下文)
...
“Java字母”是方法Character.isJavaIdentifierStart(int)
返回true
的字符。
答案 1 :(得分:0)
The method表示它的含义。
它为§
返回false,因为它不是字母,Character.getType('§')
不是Character.LETTER_NUMBER
,它不是货币符号,并且它不是连接标点字符。
两种货币符号都是如此,因为这是一个特定的标准。