java - 缺少标识符,即使它在上面定义了一行?

标签 java unicode syntax

让我们看看这个简单的 Java 程序:

class A {
    public static void main(String[] args) {
        int а = 2;
        System.out.println("a " + a);
    }
}

它创建初始化为2 的变量a,并打印它。但是,它无法编译:

    $ javac A.java && java A
    A.java:4: cannot find symbol
    symbol  : variable a
    location: class A
            System.out.println("a " + a);
                                      ^
    1 error

为什么?

最佳答案

那里有两种不同类型的a。如果您将第一个重新键入为 ASCII a,则没问题。

第一个 a 是 U+0430,“西里尔小写字母 a”。 (参见 relevant Unicode chart 。)

我个人会尽量将 Java 中的所有标识符都保留为 ASCII 字符。

(这段代码从哪里来的?)

关于java - 缺少标识符,即使它在上面定义了一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486140/

相关文章:

c++ - 打开大括号导致语法错误

java - 使用 JButtons 通过 JDBC 执行 SQL 查询

java - j_spring_security_check - 请求的资源不可用

java - 自动适应添加到 SashForm 运行时的 Composite

unicode - 如何使用包含非拉丁字符的 FXML 和属性文件?

syntax - VHDL 中的实体语法

java - 在 wsdl 文件中找不到 wsdl 绑定(bind)

PHP - 在混合字符串中将 ASCII 转换为 Unicode

python - python错误中的瑞典语字符

serialization - Json.NET 可以用点符号反序列化扁平化的 JSON 字符串吗?