lJDK5.0的语法允许开发人员把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 类型的变量,这个过程称之为自动装箱。
l自动拆箱与自动装箱与之相反,即把包装类对象直接赋给一个对应的基本类型变量。
l典型应用:
List list = new ArrayList();
list.add(1);
int j = (Integer)list.get(0);
package cn.itcast.autobox; import java.util.ArrayList; import java.util.List; import org.junit.Test; public class Demo { @Test public void demo1() { // 自动装箱 // Integer in=new Integer(10); Integer in = 10; // 自动拆箱 int i = new Integer(10); // 调用intValue()方法 } // 自动拆箱与装箱应用----集合. 集合中的元素全是Object @Test public void demo2() { List<Integer> list = new ArrayList<Integer>(); list.add(10); // 进行了自动的装箱操作. int n=list.get(0); } //关于Integer的笔试题 @Test public void dmo3(){ // Integer in1=new Integer(100); // Integer in2=new Integer(100); // // Integer in3=100; //IntegerCache[100]; // Integer in4=100; // // System.out.println(in1==in2); //false // System.out.println(in2==in3); //false // System.out.println(in3==in4); //true Integer in1=new Integer(1000); Integer in2=new Integer(1000); Integer in3=1000; //new Integer(100); Integer in4=1000; System.out.println(in1==in2); //false System.out.println(in2==in3); //false System.out.println(in3==in4); //false } }
1.自动装箱与拆箱.
java中的包装类.
包装类是对java中的基本数据进行包装,可以将基本类型包装成类类型。
基本数据类型
四类八种.
1.整型 byte short int long
2.浮点型 float double
3.字符 char
4.布尔 boolean
包装类
Byte Short Integer Long
Float Double
Character
Boolean
自动拆箱
直接将Integer对象赋值给int
自动装箱
直接将int赋值给Integer。
//对于Integer类它的自动装箱时,如果int值是在-128----127之间是从IntegerCache中取出的一个值,
如果不在这个范围内是重新new Integer()