由于某种原因,javac无法编译Integer.parseInt()。我尝试了几个包含parseInt的程序并且它们不起作用所以我编写了一个简单的小程序来测试问题是parseInt还是程序中的其他东西。这是我写的测试程序:
public class Test
{
public static void main(String[] args)
{
int a = Integer.parseInt(args[0]);
System.out.println(a);
}
}
即使使用上面的程序,我仍然遇到编译错误:“错误:找不到符号a = Integer.parseInt();”用箭头指向。在整数和解析之间。我尝试使用Double.parseDouble()运行该程序,它工作得很好。关于我为什么会收到此错误的任何想法?
答案 0 :(得分:2)
Java为您导入java.lang
包。因此,该程序包中的所有类都可用于您的程序,而无需使用import
语句。但是,如果您在包中声明了一个名为Integer
的类(默认包),则Integer
中的java.lang
为shadowing。
您可以使用该类的完全限定名称
java.lang.Integer.parseInt(args[0]);
或者在自定义static parseInt(String)
课程中创建自己的Integer
方法。这将使程序编译。确保它符合您的要求。
答案 1 :(得分:1)
而不是Integer.parseInt()
,请尝试:
java.lang.Integer.parseInt(args[0]);
这将确保您在java.lang中明确使用正确的Integer
类 - 如果这不起作用,那么您的环境就会出现严重问题。如果确实如此,那么您必须在某个地方使用另一个名为Integer
的类,而不是java.lang.Integer
类。