13.包装类型应用及场景

包装类型应用及场景

1、包装类型

Java中提供了8种基本数据类型以及对应的8中包装类型。Java是一种面向对象编程的高级语言,所以包装类型正是为了解决基本数据类型无法面向对象编程所提供的。

基本数据类型包装类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charChar
booleanBoolean
2、包装类型应用场景
  • 集合类泛型只能是包装类型
  • 成员变量不能游默认值
    基本数据类型的成员变量都有默认值,如int 的默认值为 0 ,如果在定义中 0 代表失败,那么这样会有一定的问题,这样只能包装类型Integer,它的默认值为 null ,所以就不会游默认值的影响。
  • 方法参数允许定义控制
    如果方法参数定义的基本数据类型int ,那么在传值必须传一个数据过来,不能传 null 。但是在很多的场合下希望能传一个 null ,那么这个时候就不能定义成基本数据类型,而是要定义成包装类型。
3、自动装箱、拆箱
  • 自动装箱、拆箱
    Java 5 增加了自动装箱、拆箱机制,提供基本数据类型和包装类型的相互转换操作。
  • 自动装箱
    自动装箱即自动将基本数据类型转换成包装类型,在Java 5 之前,要将基本数据类型转换成包装类型这样做,如下:
    Integer i1 = new Integer (8);
    Integer i2 = Integer.vauleof(8);
    自动装箱:
    Integer i3 = 8;
    
  • 自动拆箱
    自动拆箱即自动将包装类型转换成基本数据类型,与自动装箱恰恰相反。
    int i4 = i3;
    int i5 = i3.intValue();
    
  • 注意点:
    关于Integer,-128~127会有缓存,对比这个范围的值的对象是一个坑。
    public class TestMain {
     public static void main(String[] args) {
         Integer a = 66;
         Integer b = 66;
         System.out.println("a等于b:" + (a == b));//结果是true
         Integer c = 166;
         Integer d = 166;
         System.out.println("c等于d:" + (c == d));//结果是false
     }}
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值