integer和int的区别是什么?
integer和int的区别是:变量不同。
1、两个new Integer变量比较,永远是false,因为new生成的是两个对象,其内存地址不同。
Integer i = new Integer(100);Integer j = new Integer(100);System.out.print(i == j); //false
2、Integer变量和new Integer变量比较,永远为false。因为Integer变量指向的是java常量池中的对象,而new Integer的变量指向堆中新建的对象,两者在内存中的地址不同。
Integer i = new Integer(100);Integer j = 100;System.out.print(i == j); //false
3、两个Integer变量比较,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false。
Integer i = 100;Integer j = 100;System.out.print(i == j); //true
Integer i = 128;Integer j = 128;System.out.print(i == j); //false
1、Integer 是 int 的包装类,int 则是 java 的一种基本数据类型。
2、Integer 变量必须实例化后才能使用,而int变量不需要。
3、Integer 实际是对象的引用,当new一个 Integer时,实际上是生成一个指针指向此对象;而 int 则是直接存储数据值。
4、Integer的默认值是,int的默认值是0。