java - java中变量的命名限制

标签 java

为什么 Java 变量名中不允许使用特殊字符($_ 除外)?

最佳答案

事实并非如此——许多特殊字符实际上对标识符有效。它被定义为 in the JLS #3.8 :

An identifier is an unlimited-length sequence of Java letters and Java digits, the first of which must be a Java letter.
[...]
A "Java letter" is a character for which the method Character.isJavaIdentifierStart(int) returns true.
A "Java letter-or-digit" is a character for which the method Character.isJavaIdentifierPart(int) returns true.

例如,这是一个有效的变量名:

String sçèêûá¢é£¥ = "bc";

您可以使用这个简单的代码查看所有有效字符:

public static void main(String args[]) {
    for (int i = 0; i < Character.MAX_VALUE; i++) {
        if (Character.isJavaIdentifierPart(i)) {
            System.out.println("i = " + i + ": " + (char) i);
        }
    }
}

ps:很好的例子on @PeterLawrey's blog

关于java - java中变量的命名限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857340/

相关文章:

java - 如何在 Json 树中按名称查找节点?

java - 使用继承的方法定义方法

java - 将列表转换为带有值的字符串

java - 任务管理器阻止 Java 鼠标移动程序

java - BorderLayout 不工作 JFrame

java - 有没有办法在 App Engine 上管理用户的日历约会?

java - 使用 Maven 为 SWT 应用程序构建多平台可执行文件

java - Java中字节/整数数组的实际数据大小是多少

java - 如何在 Java 中将字符串更改为日期

Java 与 Python 内存效率