关于java中 Integer.parseint()的用法

int in=Integer.parseInt(str.charAt(index+3)); 这样用为什么不正确? 想实现这样的功能应该怎么弄 或者 怎样修改

第1个回答  推荐于2016-07-12
这个方法的正确形式是 Integer.parseInt(String str)

str.charAt()方法返回的类型是 char 所以会出错。

char 和 int 之间可以直接 casting

int in = (int) str.charAt(index+3);本回答被提问者和网友采纳
第2个回答  2021-12-02
Integer.parseInt()不接受char类型的参数,只能传递String类型进去

所以需要用String.valueOf(str.charAt())或者str.charAt()+""来转换成String类型
所以要写成int in=Integer.parseInt(String.valueOf(str.charAt(index+3)));
当然这个办法很耗时,更简单一点的办法是用java.lang.Character.digit(char ch, int radix)方法
int in=Character.digit(str.charAt(index+3),10);
第3个回答  2012-08-17
int in=Integer.parseInt(str.charAt(index+3)+"");