可以在Java变量名中使用的字符有哪些规则?
我有这个示例代码:
public class Main {
public static void main(String[] args) {
int k = 4;
System.out.println(s);
}
}
将无法编译:
javac Main.java
Main.java:3: error: illegal character: '\udd1e'
int k = 4;
^
1 error
那么为什么Java编译器会为'' ? (\ uD834 \ uDD1E)
在ideone.com中相同:http://ideone.com/fnmvpG
答案 0 :(得分:6)
可以在Java变量名中使用的字符有哪些规则?
规则在section 3.8中的标识符的JLS中。您对Character.isJavaIdentifierPart
感兴趣:
如果满足以下任何条件,则字符可能是Java标识符的一部分:
当然,这假设您使用适当的编码编译代码。
您显然尝试使用的角色是U+1D11E,这与上述情况无关。它是一个音乐高音谱号,位于"符号,其他"类别。