it和itege有什么区别(it和itege)
在生活中,很多人可能想了解和弄清楚int和Integer有什么区别?的相关问题?那么关于int 和 integer 有什么区别?的答案我来给大家详细解答下。
int和Integer有什么区别?
int是整形数字,是Java 的8个原始数据类型(Primitive Types,boolean, byte, short, char, int, float, double, long)之一。Java 语言虽然号称一切都是对象,但原始数据类型是例外。
Integer 是 int 对应的包装类,它有一个int 类型的字段存储数据,并且提供了基本操作。
JDK1.5引入了自动装箱与自动拆箱功能,Java可根据上下文,实现int/Integer, double/Double, boolean/Boolean 等基本类型与相应对象之间的自动转换,为开发过程带来极大便利。
最常用的是通过new方法构建Integer对象。但是,基于大部分数据操作都是集中在有限的、较小的数值范围,在JDK1.5 中新增了静态工厂方法 valueOf,其背后实现是将int值为-128 到 127 之间的Integer对象进行缓存,在调用时候直接从缓存中获取,进而提升构建对象的性能,也就是说使用该方法后,如果两个对象的int值相同且落在缓存值范围内,那么这个两个对象就是同一个对象;当值较小且频繁使用时,推荐优先使用整型池方法(时间与空间性能俱佳)。
自动装箱、拆箱
javac 替我们自动把装箱转换为 Integer.valueOf(),把拆箱替换为 Integer.intValue()。
包装类线程安全
包装类里存储数值的成员变量 value,不管是Integer还是Boolean等,都被声明为 private final,所以它们都是不可变类型,保证了基本的信息安全和并发编程中的线程安全。
温馨提示:通过以上关于int和Integer有什么区别?内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。