String转为int的方法
前言空字符串和 `null` 的区别 Integere.parseInt()Integer.valueOf()前言
Java中,String和Integer、int的互换是极为常见的,这里先介绍String
转int
的基本方法
空字符串和null
的区别
String a = "";String b = null;a == b# falsea.equals(b)# falseb.equals(a)# NullPointerException
空字符串虽然是空的,但仍是一个对象仍然可以调用(invoke)String 的所有方法,像a.length()
而null
则是未实例化的(not instantiated),不指向任何对象,不能调用String的所有方法
Integere.parseInt()
将String对象转为int原始数据类型,如果String包含数字、开头负号以外的内容,或者就是null
(不用catch NullPointerException),则会报错NumberFormatException
可以try-catch
一下
String a = "12";int b;try {b = Integer.parseInt(a);} catch (NumberFormatException e) {System.out.println("please enter valid numbers");}
Integer.valueOf()
将String对象转为Integer类型,而Integer功能更为强大,但是如果String不能转为数字,同样会报错NumberFormatException
,保险起见,需要try-catch
String a = "12";int b = Integer.valueOf(a);