Java 中 String转int有两种常用方法:
第一种方法:i=Integer.parseInt(str);
第二种方法:i=Integer.valueOf(str).intValue();
以上两种方法都可以实现string转int,但两者有一点区别,第一种方法直接使用的String类型的静态方法,第二种方法会多产生一个对象。但两者都会抛出异常。
下面说一下使用parseint(str),str不是数字时抛出异常解决方案:
第一种,使用try catch 将 parseint()包起来,自己接受exception信息,并实现解决方案。
e.g.
try{
Integer i = Integer.parseint(str);
}
catch(Exception e)
{
System.out.println("transition failure")
}
第二种,使用正则表达式过滤 e.g.
public static void main(String args[]){ String s="12345a"; boolean b=s.matches("[0-9]*"); if(b) { int i=Integer.parseInt(s); System.out.println(i); } else{ System.out.println("输入的数字有误!"); } }
第三种:写成函数,对string进行判断,调用jave自带的判断是否是数字的函数,还可增加可读性 e.g. for(int i = 0; i < str.length(); i++){ if(!character.isDigit(str.charAt(i))){ return false; } } 最后,有时候读入string是需要去除前后空格,不然抛出异常,这时候我们使用 string.trim("")函数可以去除字符串首末的空白。
时间: 2024-12-08 13:26:17