问题描述
今日开发当中,需要将String类型,转成int类型。
其实这是一个很简单的问题,直接用Integer.parseInt(String)方法即可返回一个int类型的数据。
当String 为"4"时,ok,Integer.parseInt(4)成功返回了一个int类型的4
但是当String 为"4.0"时,却抛出NumberFormatException异常。后来先将String转化成了Float包装类对象,再转成int,就没有报错了,即Float.parseInt(4.0).intValue();
其实这是一个很简单的问题,基础没有学好!
Integer.parseInt(String),方法的作用是,将一个String字符串,转换成一个int数据。但是这个是有前提的,前提是String字符串本身必须是一个整型(如"1","2")的才行!之前只知道String得是一个数字,以为会自动将数字转成int,这是错误的!必须String的内容也是整型的才行!
深入
get了上面的细节之后,又顺便复习了下Integer.parseInt(String)和Integer.valueOf(String)的异同。
两者的参数都是字符串,且字符串的内容本身必须是整型的!
不同之处在于,Integer.parseInt()返回的是int数据,Integer.valueOf()返回的是Integer对象
Integer.parseInt("4")与Integer.valueOf("4").intValue()是对等的