在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类是放置这个方法的好地方。