Java的Integer和int有什么区别?
Java是一种面向对象的编程语言,一般都是一个对象,但是对编程方便或基本数据类型的介绍,为了能够把这些基本数据类型为对象,IT培训介绍了Java为每个基本数据类型对应的包装类型(包装类),int类的包装是一个整数,从Java5引入了自动包装/拆包机制,可以相互转换,对应如下:
原始类型:boolean,char,byte,short,int,long,float,double
包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
顺便说一下,Java中只有8种基本数据类型,除了原始类型,其余都是引用类型。
因此,基本的区别在于,Ingeter是一个int封装类,int的起始值为0,而Ingeter的初始值为null。
工作在任何情况下,Integer不等于newInteger。新对象存储在堆中,而不是通过非打包过程,而非newInteger在常量池中(在方法区域中),它们的内存地址是不同的,所以是false的。
它们都是非new的Integer。如果数字在-128和127之间,这是true的,否则是false的。因为在编译Integeri2=128时,Java被编译为Integeri2=128。函数的作用是缓存-128和127之间的数字。
它们都是new的和false的。它不是同一个内存地址。
int和Integer(不管是否新)是正确的,因为Integer会自动地将这个int打开。