邢台做网站信息,个人网站 logo 版权 备案 没用,怎么上传网站iis,windows wordpress什么是装箱拆箱#xff1f;
Java有8种基本数据类型#xff0c;并且为这8种类型提供了包装器类型。比如说int类型的包装器类型是Integer。
装箱是指将基本数据类型转换成对应的包装器类型。拆箱是指将包装器类型转换基本数据类型。
Integer i 10; //自动装箱
int n i; …什么是装箱拆箱
Java有8种基本数据类型并且为这8种类型提供了包装器类型。比如说int类型的包装器类型是Integer。
装箱是指将基本数据类型转换成对应的包装器类型。拆箱是指将包装器类型转换基本数据类型。
Integer i 10; //自动装箱
int n i; //自动拆箱
装箱拆箱是如何实现的
在装箱的时候自动调用的是Integer的valueOf(int)方法。而在拆箱的时候自动调用的是Integer的intValue方法。
也就是说Integer i 10实际上是Integer.valueOf(10),int n i实际上是i.intValue()
面试中的相关问题 Integer integer 1;Integer integer1 new Integer(1);//包装器类型的构造方法必然会创建一个新的对象Integer integer3 1;int i 1;System.out.println(integerinteger3);//Integer.valueOf会对-128-127的数做缓存所以integer和integer3指向同一个对象System.out.println(integerinteger1);//两个操作是引用类型时,这种情况不会触发拆箱是比较两个对象的内存地址结果是falseSystem.out.println(integeri);//integer会拆箱成int类型结果是trueSystem.out.println(integerinteger1);//integer和integer1都会拆箱成int类型结果是false
注意除了或者!操作两个包装器实例的情况是比较对象内存地址外其他的操作符操作包装器类型的话都会触发自动拆箱。