让我们看看这个简单的 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/