Java中找不到符号 Cannot find symbol
时间:2020-02-23 14:33:58 来源:igfitidea点击:
如果声明了一些编译器不明白的东西时,我们将收到此错误(Cannot find symbol)。
编译何时编译任何程序时,编译器创建标识符列表。
如果编译无法理解任何标识符,则会收到此错误。
此错误通常表示编译器无法识别任何标识符,并且无法弄清楚它的意义。
让我们用一个非常基本的例子来理解。
package org.arpit.theitroad; public class CannotFindSymbolMain { public static void main(String[] args) { int a = 10; int b = 2; division = a/b; System.out.println(division); } }
我们将低于编译错误。
CannotFindSymbolMain.java:11: error: cannot find symbol division = a/ b; symbol: variable division location: class CannotFindSymbolMain CannotFindSymbolMain.java:12: error: cannot find symbol System.out.println(division); symbol: variable division location: class CannotFindSymbolMain 2 errors
你明白这个问题了吗?
我们正在收到此错误,因为我们没有声明 division
在使用之前。
我们需要将第11行更改为:
int division = a/b;
这将解决上面的编译错误。
此错误可能有多种原因。
- 你忘了声明任何变量
- 你拼错了
methodname
,类,变量或者接口。
请注意,Java是区分大小写的语言,所以 division
和 Division
将不被认为是相同的。
- 我们没有正确导入任何程序
- 你忘了
new
初始化对象时的关键字。
Integer i = Integer();
我们忘了使用 new
,所以应该是
Integer i = new Integer();
- 可能存在问题
source file encoding
。即使标识符看起来完全一样,但可以隐藏字符
如我们所见,此错误可能有多种原因。
我们需要弄清楚程序中可能出现此错误的原因。
在大多数情况下,此错误是由于 undeclared variable
或者 misspelled identifier
。