Integer.parseInt和Integer.valueOf有什么区别?
的有关信息介绍如下:
记个笔记 jdk1.8 + IDEA
parseInt() 可以将String 类型 转换为有符号的int 基本类型,并且可以指定转换的进制,如果不指定则默认为10 进制.
valueOf() 可以将String 转换为 Integer 对象,实际先调用parseInt(),在调用valueOf() 方法,还可以将int 转为Integer 包装类型.
使用 valueOf() 方法的数字如果在[-128,127] 之间,则直接取缓存,如果超过这个范围则构建新的对象.
i02 是基本数据类型,所以所有的包装类自动拆箱,使用 == 比较的是值是否相等.
i04 是新建了对象,所以所有的对象都不同,对象类型使用 == 比较的是对象是否是同一个.
剩下的 i01 和 i03 在范围内是返回值为: true,而在范围外返回值为: false ,所以当超出了默认的范围后,调用valueOf() 方法就会构建一个新对象.



