java的继承---包装器与自动装箱

在java中,有时候需要转换基本类型为对象,所有的基本类型都有一个对应的类,例如,integer对应int,通常这些类称为包装器,这些对象包装器类拥有鲜明的名字:integer,long,float,double,short,byte,character,void,boolean.对象包装器类是不可变的,也不允许更改包装在其中的值。

假如定义一个整型数组列表,而尖括号中的类型参数是不允许是基本类型,也就是说不可以写成如:ArrayList<int>

例如:ArrayList<Integer> list = new ArrayList<>();

list.add(3);将自动变换成:list.add(Integer.valueOf(3));

这种变换就是自动装箱。

 

拆箱如下:

int n =list.get(i);

变成:int n = list.get(i),intValue();

很多情况下,会有一种假象,即基本类型和它们的对象包装器是一样的,其实这并不一定

例如:Integer a = 1000;

Integer b = 1000;

if(a == b)

这是不成立的。

将字符串转换成整型,如下

int x = Integer.parseInt(s);

parseInt是一个静态方法,但Integer类是放置这个方法的好地方。

 

posted @ 2017-03-01 23:42  dream199  阅读(206)  评论(0编辑  收藏  举报