Integer i=0;
i是一个对象
int i=3;
i是一个基础变量
Integer i=0;
这种写法如果没记错,在JAVA1.5之前是会报错的,自动的加解包是1.5的新特性
必须写成
Integer i= new Integer(0);
i.intValue()才能提取i的值
使用场合,例如说
往ArrayList里面add,必须add的是Object
而int不是对象,就只能把Integer添加进去
在Java中要处理的东西几乎都是对象,而基本数据类型(如int,double等定义的变量以及程序中的字母常量)不是对象。Integer就是将int基本数据类型包装为一个对象,在Java中称为装箱(autoboxing),举个例子:
Integer i = new Integer(10);
就是将i实例化为对象。Java5.0之后提供了自动装箱功能,跟上边例子效果一样:
Integer i = 10;
具体的东西还是建议你找到详细的资料再学习学习。
java中有两种数据类型:基本数据类型,引用类型。
int就属于基本数据类型,基本数据类型是机器能够直接识别的类型,每一种基本数据类型都有其对应的包装器类(wrapper class),int的包装器类就是Interger。
因为Integer封装了整型的基本操作(如与其他基本类型间的转换等),所以需要对数值有转换操作等,就要用类。且一般情况下系统会自动进行转换,楼主不必操心。
int i=new Integer(j).intValue();
Integer j=new Integer(i);
int是java提供的8种原始数据类型之一,Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。
基本数据类型有方便之处,简单、高效。
但是Java中的基本数据类型却是不面向对象的(没有属性、方法),这在实际使用时存在很多的不便(比如集合的元素只能是Object)。
为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行包装,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。
integer是int的包装类。int是基本类型,没有空值,integer可以有空值,也就是可以有null。。