Can';t将字符串转换为int(Java)
由于某些原因,javac无法编译Integer.parseInt()。我尝试了几个有parseInt的程序,但它们不起作用,所以我编写了一个简单的小程序来测试问题是parseInt还是程序中的其他东西。以下是我编写的测试程序:Can';t将字符串转换为int(Java),java,string,int,Java,String,Int,由于某些原因,javac无法编译Integer.parseInt()。我尝试了几个有parseInt的程序,但它们不起作用,所以我编写了一个简单的小程序来测试问题是parseInt还是程序中的其他东西。以下是我编写的测试程序: public class Test { public static void main(String[] args) { int a = Integer.parseInt(args[0]); System.out.println(a); } } 即使使用上面的程序
public class Test
{
public static void main(String[] args)
{
int a = Integer.parseInt(args[0]);
System.out.println(a);
}
}
即使使用上面的程序,我仍然会收到一个编译器错误,它说:“错误:找不到符号a=Integer.parseInt();”,箭头指向。在整数和解析之间。我试着用Double.parseDouble()运行这个程序,效果很好。关于为什么会出现此错误,您有什么想法吗?请尝试以下操作,而不是
Integer.parseInt()
:
java.lang.Integer.parseInt(args[0]);
这将确保您在java.lang中使用正确的
Integer
类-如果这样做不起作用,那么您的环境就会出现严重问题。如果是这样的话,那么您必须有另一个名为Integer
的类,而不是java.lang.Integer
类。java为您导入java.lang
包。因此,您的程序可以使用该包中的所有类,而无需使用import
语句。但是,如果您在包(默认包)中声明了一个名为Integer
的类,那么您就是java.lang
中的Integer
您可以改用类的完全限定名
java.lang.Integer.parseInt(args[0]);
或者在自定义的
Integer
类中创建自己的static parseInt(String)
方法。这将使程序编译。确保它符合你的要求 这不是导致该错误的代码。如果不是编译,那么有人入侵了您的javac。您是否碰巧创建了名为Integer
的类?或在自定义整数类中创建了自己的静态parseInt(String)方法
我强烈建议不要首先创建名为Integer
的类,不要匹配方法名,这样我们可以捕获更少的编译时错误。