试图将String转换为Integer

时间:2014-02-15 16:32:58

标签: java int

我正在尝试将字符串转换为int以查看结果,但我收到运行时错误。

String string="Java";    
int see=Integer.parseInt("string");

并尝试使用此代码 -

 String[] sstring={"Java"};
 int ssee=Interger.parseInt("sstring[0]");

并尝试使用此代码 -

   String[] sstring={"Java"};
   int ssee=Interger.parseInt(sstring[0]);

我得到的按摩 -

Exception in thread "main" java.lang.NumberFormatException: For      input string: "string"
           at java.lang.NumberFormatException.forInputString(Unknown Source)
          at java.lang.Integer.parseInt(Unknown Source)
          at java.lang.Integer.parseInt(Unknown Source)
          at displayName.main(displayName.java:13)

5 个答案:

答案 0 :(得分:1)

那是因为该字符串中没有整数。你必须将一个数字作为字符串传递给它才能工作,否则没有有效的值可以返回。

根据您的使用情况,可能完全可以捕获该异常并在这种情况下使用默认值。

答案 1 :(得分:1)

你需要给它一个包含整数的字符串:

String value="10";
int x=Integer.parseInt(value);

如果你没有传入有效的字符串,它会在尝试解析时抛出异常,这就是你所看到的。

答案 2 :(得分:0)

这是String#parseInt应如何工作的示例

int see = Integer.parseInt("1234");

字符串需要表示一个数字。


也许您正在寻找String的ASCII值?

String s = "Java";
byte[] bytes = s.getBytes("US-ASCII");

答案 3 :(得分:0)

如果要查找整数对象而不是基本类型,可以使用返回的valueOf

Integer i = Integer.valueOf("1234")

如果您是Java新手,请尝试在此处阅读Difference between Integer and int.

答案 4 :(得分:0)

只能使用Integer.parseInt()函数解析以String形式表示的数字。在其他情况下,抛出NumberFormatException

我会建议谷歌和维基百科这样的简单事情。它们是学习的重要来源,是解决简单疑虑的第一步。

希望这会有所帮助。