为什么java常量有奇怪的行为(Unicode字符和正常表示)..我的意思是看下面的例子。 注意:所有代码都是java语言。
char a = '\u0061'; //This is correct
char 'a' = 'a'; //This gives compile time error
char \u0061 = 'a'; //this is correct no error
ch\u0061r a = 'a'; //This too works
ch'a'r a = 'a'; // This really is confusing compile time error
为什么最后一个声明不起作用,而 ch\u0061r a='a';
起作用?
最佳答案
您不能将文字 ('a'
) 放在标识符中间。
线路
char 'a' = 'a';
无法编译,因为没有标识符,并且您无法将一个文字分配给另一个文字。
但是,允许使用 Unicode。只是很难阅读:-)
关于java - Java 声明困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18223338/