Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java Integer.parseInt()?_Java - Fatal编程技术网

如何使用java Integer.parseInt()?

如何使用java Integer.parseInt()?,java,Java,在这段代码中,我试图将字符串A00001更改为int 1,但Eclipse告诉我 线程AWT-EventQueue-0中出现异常 java.lang.NumberFormatException:用于输入字符串:00001 位于java.lang.NumberFormatException.forInputStringUnknown 源代码位于java.lang.Integer.parseIntUnknown源代码位于 java.lang.Integer.parseIntUnknown源代码位于

在这段代码中,我试图将字符串A00001更改为int 1,但Eclipse告诉我

线程AWT-EventQueue-0中出现异常 java.lang.NumberFormatException:用于输入字符串:00001 位于java.lang.NumberFormatException.forInputStringUnknown 源代码位于java.lang.Integer.parseIntUnknown源代码位于 java.lang.Integer.parseIntUnknown源代码位于 LibraryManager.BookAdd.getInsertOrderedListBookAdd.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++;
}

如何解决此问题?

字符串00001的末尾有空格。这就是为什么字符串不能被解析为整数。您可以修剪字符串,异常将消失:

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

希罗,你的字符串后面有个空格。你需要修剪一下

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

对于尾随空格和前导空格,甚至数字中的空格,也可以使用这种方法。例如:

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

比wich方法更好?trim删除前导和尾随空格这是真的,我在表中被定义为char类型而不是varchar,最后得到了它,thx!