int和Integer的区别

int和Integer的区别
1.初始值是0 初始值是null
Integer可以判断是否为空
不能使用泛型
2.一个在栈 一个在堆
原始类型数组 连续存储空间 Integer对象数组 分散在堆
3.Integer可以进行类型转换 如转换成String
4.两者可以互相转换 自动装箱valueof 自动拆箱xxxValue
5.如果有线程安全的计算需要,建议考虑使用类型AtomicInteger、AtomicLong 这样的线程安全类。部分比较宽的基本数据类型,比如 foat、double,甚至不能保证更新操作的原子性,可能出现程序读取到只更新了一半数据位的数值