首页 > 编程语言 > 详细

Java 包装类的自动封箱与拆箱

时间:2020-05-17 01:12:37      阅读:88      评论:0      收藏:0      [点我收藏+]

 

自动拆箱与封箱

Integer in = 1;// 自动封箱  Integer in= new Integer(1)
in = in + 5;// 自动拆箱 in.intValue() 与int类型的5进行加运算
System.out.println(in);

数组集合中 集合中的元素只能是引用类型的对象  

import java.util.ArrayList;

ArrayList<Integer> array = new ArrayList<Integer>();
array.add(22);// int类型的22  自动被装箱为 Integer类的对象

自动拆箱与封箱的弊端-空指针异常   要防止引用变量指向null 

自动拆箱与封箱的好处—基本类型和引用类对象两者直接运算

Integer in = null;// java.lang.NullPointerException

 

面试题

 

        Integer i = new Integer(200);
        Integer j = new Integer(200);
        System.out.println(i == j); // 地址值的比较  false
        System.out.println(i.equals(j));// 对象值的比较 true
        
        Integer a = new Integer(127);
        Integer b = new Integer(127);
        System.out.println(a == b); // 地址值的比较 false
        System.out.println(a.equals(b));// 对象值的比较 true
        
        Integer m = 127;//m = new Integer(127);  
        Integer n = 127;//n = m 当数据在byte内 JVM不会在堆区开辟新空间  引用对象n 指向的 就是对象m在堆中的内存地址
        System.out.println(m == n); // 地址值的比较 true
        System.out.println(m.equals(n));// 对象值的比较 true
        
        Integer p = 128;//p = new Integer(127);
        Integer q = 128;//q = new Integer(127);
        System.out.println(p == q); // 地址值的比较 false
        System.out.println(p.equals(q));// 对象值的比较 true

 

Java 包装类的自动封箱与拆箱

原文:https://www.cnblogs.com/cherry2020/p/12903154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!