明确
1,Integer是int的包装类。
2,Integer的默认值是null,int的默认值是0
3,Integer必须实例化以后才可以使用,int不需要。在new一个Integer时,会生成一个指针指向该对象
所有相同类型的包装类对象之间的值比较,都要使用equals
当然Integer是int的包装类,当两个Integer进行比较的时候最好使用equals。
但是当Integer的值在“-128至127”之间的时候是可以使用“==”来比较的。因为在这个区间内,Integer对象是在IntegerCache.cache产生,会重用原来的对象。而在此区间之外的Integer,都会在堆上产生。有几个对象就有多少引用指向。并不会重用,此时再去用“==”去比较。得不到你想要的结果。这个问题是个大坑要牢记,开发中或者面试中,都会遇到