无法将字符串转换为int(Java)

时间:2013-10-15 20:48:18

标签: 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);

}
}

即使使用上面的程序,我仍然遇到编译错误:“错误:找不到符号a = Integer.parseInt();”用箭头指向。在整数和解析之间。我尝试使用Double.parseDouble()运行该程序,它工作得很好。关于我为什么会收到此错误的任何想法?

2 个答案:

答案 0 :(得分:2)

Java为您导入java.lang包。因此,该程序包中的所有类都可用于您的程序,而无需使用import语句。但是,如果您在包中声明了一个名为Integer的类(默认包),则Integer中的java.langshadowing

您可以使用该类的完全限定名称

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类。