Java代码中Integer和int有什么区别呢?
下文笔者讲述java代码中Integer类型和int类型之间的不同之处,如下所示:
数据类型简介说明
在java编程语言中,一切皆对象,包括数据类型 但是java中还存在原始的数据类型 boolean,char,byte,short,int,long,float,double 分别对应的包装类型为:Boolean,Character,Byte,Short,Integer,Long,Float,Double 两者之间可以进行互相转换
下文将讲述Integer和int的区别,如下所示
Integer和int的区别:
1.int初始值0 , Integer初始值为null
2.数据的存储模式不同:
Integer缓存127以内的数据,将会存储在缓存池中
对于大于128的数据,则采用实时读取的模式,不会缓存数据
int则直接存储在常量池中
例:
public class TestInteger {
public static void main(String[] args) {
int i = 128;
Integer i2 = 128;
Integer i3 = new Integer(128);
System.out.println(i == i2); //Integer会自动拆箱为int,所以为true
System.out.println(i == i3); //true,理由同上
Integer i4 = 127;//编译时被翻译成:Integer i4 = Integer.valueOf(127);
Integer i5 = 127;
System.out.println(i4 == i5);//true
Integer i6 = 128;
Integer i7 = 128;
System.out.println(i6 == i7);//false
Integer i8 = new Integer(127);
System.out.println(i5 == i8); //false
Integer i9 = new Integer(128);
Integer i10 = new Integer(123);
System.out.println(i9 == i10); //false
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


