Java — 包装器类

包装器类的概念
1.基本概念
  • 为了能将基本类型视为对象来处理,并能连接相关的方法,提供了包装器类。
  • 八种基本数据类型对应的包装器类分别为:Byte、Short、Character、Integer、Long、Float、Double、Boolean。
2.创建包装器类对象
  • 构造方法new

    Integer i1 = new Integer(5);//value属性的值不可以更改指向
    System.out.println(i1);
    Integer i2 = new Integer("123");//字符串内只能包含数字
    System.out.println(i2);
    //传参传对应基本数据类型的数字或,只包含对应类型数字的字符串
    
  • 调用valueOf方法

    Integer i3 = Integer.valueOf("456");
    System.out.println(i3);
    Double d3 = Double.valueOf("2.23");
    System.out.println(d3);
    
3.特点
  • 包装器类型对象一旦赋值,其值不能再改变,但可以改变其指向
拆箱装箱、判等与重载匹配

对包装器类型对象进行操作

1.手动
//包装器对象参与运算(++ --)
Integer i4 = Integer.valueOf(100);
//拆箱操作
int num1 = i4.intValue();
num1 ++;//101
//装箱操作
i4 = Integer.valueOf(num1);//修改i4引用,指向自增以后的新值
System.out.println(i4);
2.自动
//JDK1.5之后可以省略拆装箱操作
Integer i5 = new Integer(789);
i5 ++;//新开辟内存空间
System.out.println(i5);
3.包装器对象的判等
//包装器对象的判等(==、equals)
//Double d4 = new Double(6.26);
//Double d5 = new Double(6.26);
Double d4 = 3.14;//隐含自动装箱操作
//相当于 Double d4 = Double.valueOf(3.14);
Double d5 = 3.14;
System.out.println("==:" + (d4 == d5));//判是否指向同一个对象
System.out.println("equlas:" + d4.equals(d5));

//Integer i6 = new Integer(10);
//Integer i7 = new Integer(10);
Integer i6 = 200;
//Integer i5 = Integer.valueOf(200);
//缓存了-128~127之间的对象,传参在此范围内不会新建对象,不在才会新建
Integer i7 = 200;
System.out.println("==:" + (i6 == i7));//判是否指向同一个对象
System.out.println("equlas:" + i6.equals(i7));
4.重载方法匹配顺序
  • 单参数

    • 1.精确匹配
    • 2.如果实参属于基本数据类型,加宽以后能匹配
    • 3.基本数据类型装箱以后能够匹配
    • 4.基本数据类型装箱后,再向上转型如果能匹配
  • 多参数

    • 精确匹配
    • 如果实参属于基本数据类型,加宽以后能匹配
    • 基本数据类型装箱以后能够匹配
    • 基本数据类型装箱后,再向上转型如果能匹配
    • 上面都不匹配的情况下才会去匹配可变元参数
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值