java -\u65549 是有效的 Java 标识符吗?

标签 java identifier

我有这些声明:

int \u65549 = 9;
System.out.println(\u65549);

这编译完美。并输出

9

但是:

System.out.println(Character.isJavaIdentifierStart(\u65549));

输出

false


我对这个话题做了一些研究。我阅读了文档,它说:

This method cannot handle supplementary characters. To support all Unicode characters, including supplementary characters, use the isJavaIdentifierStart(int) method.

然后我这样做了:

int x = \u65549;
System.out.println(Character.isJavaIdentifierStart(x));

但即使这样打印:

false

那么,这是否意味着 Java 对 \u65549 作为标识符感到困惑?

最佳答案

int \u65549 = 9;
System.out.println(Character.isJavaIdentifierStart(\u65549));

这里,\u65549 是一个变量的名称,它也恰好包含值 9。它应该(并且确实)和你写的一样:

System.out.println(Character.isJavaIdentifierStart(9));

打印 false,因为您不能拥有以空白字符开头的 Java 标识符(\u0009 是 HORIZONTAL TAB 的代码点,'\t').

关于java -\u65549 是有效的 Java 标识符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36403412/

相关文章:

java - 将十六进制字节转换为实际字节

vb.net - Boolean 和 [Boolean] 和有什么不一样?

java - 如何从堆栈中取出具有特殊id的对象?

java - 什么是 p5.js textToPoints() 字体函数的等效处理?

java - Web服务异常的潜在原因

Java - 无法应用 Java 外观

linux - 如何识别设备(Linux,Unix)

java - 如何在 Windows LookAndFeel 中更改 JTableHeader 的主色?

java - JApplet 程序 : error: ')' expected, 错误 : illegal start of type, <identifier> 预期,错误: ';' 预期

Mercurial : user friendly way to display exact revision number of files?