无法在Java中将String转换为int

jac*_*bbb 4 java

在我的程序中,我需要将String转换为Int.

    String str = new String(request.getData());

    String [] setting = str.split(" ");        
    String bs = setting[1];
Run Code Online (Sandbox Code Playgroud)

bs的值是1024,我System.out.println用来测试它,它在屏幕上显示"1024".

但是当我使用时

    int blockSize = Integer.parseInt(bs); 
Run Code Online (Sandbox Code Playgroud)

它会将异常点返回到以下行Integer.parseInt:

Exception in thread "main" java.lang.NumberFormatException: For input string: "1024"
  at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
  at java.lang.Integer.parseInt(Integer.java:458)
  at java.lang.Integer.valueOf(Integer.java:554)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决吗?谢谢.

enr*_*cis 10

我怀疑你在字符串中有一些隐藏的unicode字符bs,你可以删除非数字:

bs = bs.replaceAll("\\D", "");
int blockSize = Integer.parseInt(bs);
Run Code Online (Sandbox Code Playgroud)

上面的代码也将字符串转换"1a2"12,但这似乎不是你的情况.