无法将String转换为Integer

时间:2016-01-26 17:13:33

标签: java

String TypedMaxNumber = MaxValue.getText();
int Max = Integer.parseInt(TypedMaxNumber);

我正在尝试这样做,我在文本字段中输入了1我收到错误。

3 个答案:

答案 0 :(得分:3)

在使用之前尝试检查字符串TypedMaxNumber

  if(TypedMaxNumber!=null && !TypedMaxNumber.equals(""))
      int Max = Integer.parseInt(TypedMaxNumber);

答案 1 :(得分:0)

parseInt类中的方法Integer会引发NumberFormatException。以下是文档:https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

您必须添加异常处理以确保您的代码处理非整数的输入字符串。

请尝试以下代码:

String TypedMaxNumber = MaxValue.getText();
int Max = 0; // Assuming 0 is default if input string cannot be parsed to int
if (TypedMaxNumber != null && TypedMaxNumber.trim().length() > 0)
{
   try
   {
      Max = Integer.parseInt(TypedMaxNumber);
   }
   catch (NumberFormatException nfe)
   {
      // set to default value (here it is assumed as 0) if the string cannot be parsed to int.
      Max = 0;
   }
}

答案 2 :(得分:0)

如果它是NaN

,您甚至可以将其编写为执行任务
String TypedMaxNumber = MaxValue.getText();
int Max;
try {
    Max = Integer.parseInt(TypedMaxNumber);
} catch (Exception e) {
    System.out.println("TypedMaxNumber is not a number");
}