Java是一种面向对象的编程语言,一般都是一个对象,但是对编程方便或基本数据类型的介绍,为了能够把这些基本数据类型为对象,IT培训http://www.kmbdqn.cn/介绍了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打开。
Java 中整数可以有两种表示形式,一种是 int,另一种是 Integer。
int 在 Java 中叫做基本数据类型(Primitive Data Type),就是简单的一个整数,好比 C 语言中的 int。如果你使用
int a = 3来定义了一个整数 a 的话,Java 只是在内存中为 a 分配了一个空间,并在这个空间内存储了 3 这个值。
而 Integer 则是一个类,也就是对象,内含了多个方法可以使用。使用 Integer 宣称的变量都是 Integer 这个类的实例。比如你使用
Integer b = 3定义 b 的话,看起来和使用 int 的效果一样,但实际上 Java 执行的是
Integer b = new Integer(3)也就是新建了一个 Integer 类的实例 b。
因为 Integer 是一个类,所以有很多自己的方法。比如
b.toString() // 返回一个代表 a 的值的字符串b.compareTo(Integer a) // 比较 a 和 b 的值
b.equals(Integer a) // 比较 a 和 b 所代表的整数值
还有一些静态(static)的方法比如
Integer.parseInt(String s) // 把一个字符串 s 转换成整数等等。而 int 不是对象,所以就没有这些方法了。所以如果你执行
a.toString()就会报错。
因为 Java 是一个面向对象的语言,所以建议你尽量使用 Integer,把所有东西都当成对象来对待。
意思就是说Integer是一个类,它担供了一些类型的转换方法.int类型的包装类就是Integer类。
一个典型的运用就是:实现int类型到String类型的转换。
使用具体方法是:
Integer I=new Integer(int i=1)
String str=I.valueOf()