泛型详细剖析 + 代码示例详解!

一 包装类

在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。

1.1 基本数据类型对应的包装类

对照下表可以发现,除了 char 和 int 之外,别的基本数据类型都是首字母大写。

在这里插入图片描述

1.2 装箱和拆箱

装箱和拆箱有两种方式,一种是手动装箱和拆箱。

手动装箱和手动拆箱则是指通过代码显式地进行类型转换。手动装箱需要使用包装类型的构造函数或者valueOf()方法,手动拆箱需要使用包装类型的xxxValue()方法,例如intValue()、doubleValue()等。

    //手动装箱
    int a = 1;
    Integer A = Integer.valueOf(1);
    
    //手动拆箱
    int b = A.intValue();

可以看到在使用过程中,装箱和拆箱带来不少的代码量,所以为了减少开发者的负担,java 提供了自动机制。

自动装箱和自动拆箱是Java中的两个特性,可以简化代码的编写,使得基本类型和其对应的包装类型之间的转换更加方便。自动装箱是指将基本类型自动转换为对应的包装类型,而自动拆箱则是指将包装类型自动转换为对应的基本类型。例如,将int类型的值赋给Integer类型的变量,就是自动装箱;将Integer类型的值赋给int类型的变量,就是自动拆箱。

        //自动装箱
        int i = 2;
        Integer I1 = i;
        Integer I2 = (Integer)i;
  • 41
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值