Java 测试包装自动装箱,自动拆箱案例

测试包装

package cn.tedu.API;
/*本类用于测试包装类*/
public class TestNumber {
    //1 定义成员变量,注意设置成静态的,因为静态只能调用静态
    static Integer i0;
    public static void main(String[] args) {
        // 2 打印Integer的默认值进行测试
        System.out.println(i0);//null
        //3 创建int类型对应的包装类Integer类型对象
        Integer i1= new Integer(5);
        Integer i11= new Integer(5);
        System.out.println(i1==i11);//false

        //4创建int类型对应的包装类Integer类型对象--方式二
        /*Integer有一个高效的效果, 数据在: (-128~127)
        * 在范围内,相同的数据只会存一次,后续再存都是使用之前存过的数据*/
        Integer i2= Integer.valueOf(127);
        Integer i3= Integer.valueOf(127);
        System.out.println(i1==i2);//false
        System.out.println(i2==i3);//true
//满足高效效果的3个条件: Integer  valueOf  -128~127
        /*超过了范围-128~127之间*/
        Integer i4=  Integer.valueOf(300);
        Integer i5 =Integer.valueOf(300);
        System.out.println(i4==i5);//false

//       5 创建double类型对应包装类double的对象
        Double d1 = new Double(3.14);
        Double d2 =  Double.valueOf(3.14);
        Double d3 =  Double.valueOf(3.14);
        System.out.println(d1 == d2);
        System.out.println(d2 == d3);

        /*只有Integer的valueOf创建方式, 并且数据在-128~127才有高效效果
        * Double是没有高效效果的*/

        //测试常用方法
        /*原因: parseInt作用是把String类型的数据转为int
        * 所以"800"被转成了int类型数据800,就可以参与运算*/
        System.out.println(i1.parseInt("800")+8);
        System.out.println(d1.parseDouble("2.4")+1.2);
    }
}

自动拆箱装箱

package cn.tedu.API;
/*本类用于测试自动装箱与自动拆箱*/
public class TestNumber2 {
    public static void main(String[] args) {
        //1 定义包装类型的数据
        Integer i1 = new Integer(127);
        Integer i2= Integer.valueOf(127);

        //2 现在的方式
        /*1. 自动装箱: 编译器会自动把基本类型int5包装成包装类型Integer
        * 然后交给Integer类型的引用类型变量i3来保存
        * 自动装底层发生的代码: Integer.valueOf(5)
        * valueOf()方向:int-->Integer*/
        Integer i3=5;//不会报错, 这个现象就是自动装箱
/*自动拆箱: 编辑器会自动把包装类型的i1拆掉" 箱子 " ,变回基本类型的数据127
* 然后交给基本类型int的变量i4来保存
* 自动拆箱底层发生的代码: i1.intValue();
* intValue():的方向:Integer0-->int*/
        int i4 = i1;//不会报错, 这个现象就是自动拆箱
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值