2010-06-30 49 views
2

到處說,一個Java標識符可以與所有字符(而不是數字),包括$_Java標識

開始,但我注意到,方法,如isJavaIdentifierStart返回true,也爲其他字符 像§£ etc

然而,是否正確啓動一個標識符與那裏的字符?

回答

5

如果定義isJavaIdentifierStart返回true它,然後,它的起始字符有效的Java標識符,因爲這是how the specification defines it

標識符:
            IdentifierChars但不是關鍵字或BooleanLiteral或NullLiteral
IdentifierChars:
            JavaLetter
            IdentifierChars JavaLetterOrDigit
JavaLetter:
           這是一個Java字母任何Unicode字符(見下文)
JavaLetterOrDigit:
           任何Unicode字符是一個Java字母或數字的(見下文)
...
A「的Java字母」是一個字符爲哪些Character.isJavaIdentifierStart(int)返回true的方法。

0

The method意味着它說。

它返回假爲§,因爲它不是一個字母,Character.getType('§')不是Character.LETTER_NUMBER,它不是一個貨幣符號,它不是一個連接的標點符號。

這對兩個貨幣符號是正確的,因爲這是一個特定的標準。