一、典型回答
int是我们常说的整形数字,是Java的8个原始数据类型(primitiveTypes,boolean,byte,short,char,int,float,double,long)之一。Java语言虽然号称一切都是对象,但是原始数据类型是例外。
Integer是int对应的包装类,它有一个int类型的字段存储数据,并且提供了基本操作,比如数字运算、int和字符串之间的转换等。在java5中,引入了自动装箱和自动拆箱功能。
二、Integer的值缓存
-128-127之间
三、理解自动拆箱和自动装箱
javac替我们自动把装箱转换为Integer.valueof,把拆箱替换为Integer.intValue。
四、原始数据类型线程安全
如果有线程安全的计算需要,建议考虑用类似AtomicInteger、AtomicLong这样的线程安全类。特别是,部分比较宽的数据类型,如float、double,甚至不能保证更新操作的原子性,可能出现程序读取到只更新一半数据位的数值。
五、对象