我怎样才能使用java Integer.parseInt()?

时间:2016-08-27 07:50:43

标签: java

我试图在此代码中将String A00001更改为int 1,但Eclipse告诉我

  

线程“AWT-EventQueue-0”中的异常   java.lang.NumberFormatException:
对于输入字符串:"00001 "

  at java.lang.NumberFormatException.forInputString(Unknown   来源)
在java.lang.Integer.parseInt(未知来源)at   java.lang.Integer.parseInt(未知来源)
在   LibraryManager.BookAdd.getInsertOrderedList(BookAdd.java:105)

这是我的代码:

while(rs1.next()){
    allid[i]=rs1.getString("id");
    String mystr=allid[i].substring(1);
    try{
        System.out.println(mystr);//this print 00001
        intofid[i]=Integer.parseInt(mystr);
    }catch(Exception e){
        e.printStackTrace();
    }
    i++;
}

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

您的字符串"00001 "末尾有空格。这就是为什么字符串不能被解析为整数的原因。你可以trim字符串,异常就会消失:

intofid[i]=Integer.parseInt(mystr.trim());

答案 1 :(得分:0)

Hiro,你的字符串中有一个尾随空格。你需要修剪它。

String str = "0001 ";
System.out.println(Integer.parseInt(str.trim()));

答案 2 :(得分:0)

您也可以在尾随和前导空格的情况下使用此方法,甚至是数字内的空格。例如:

String mystr = "  00 0001   ";
intofid[i] = Integer.parseInt(mystr.replace(" ",""));