包装类

包装类:
    java语言是面向对象的语言,而基本数据类型的数据不是对象
    有的时候我们需要研究使用基本数据类型的数据,需要将之转换成对象使用
    这个时候,我们可以将基本数据类型包装成引用类型。

    每一个基本数据类型都对应一个包装类
    byte------->Byte
    int-------->Integer
    short------>Short
    long------->Long
    float------>Float
    double----->Double
    char------->Character
    boolean---->Boolean
特点:
    1、都是final修饰的
    2、一经创建的对象里的数据不可变
常用构造器:
    Integer(int value)
        通过指定的基本数据类型的数据,构建一个Integer对象
    Integer(String str)
        通过指定的字符串数据类型的数据,构建一个Integer对象


常用方法:
    int intValue();
        将包装类的对象拆箱成基本数据类型

    static Integer valueOf(String s)
        将字符串转换Integer对象
        注意:将字符串转换成基本数据类型时,有可能出现运行时异常
        java.lang.NumberFormatException


    static int parseInt(String s)
        将字符串转换成10进制的基本数据类型

JDK1.5以后支持自动装箱和拆箱:

     发生了自动装箱操作,相当于调用了Integer.valueOf(5)
     5被包装成对象,存在堆中,将地址值给了变量i

     发生了自动拆箱操作,相当于i.intValue()
     对象i被拆箱成基本数据类型5存储在num空间里

      n1发生了自动拆箱即n1.intValue(),变成了基本数据类型
      n2发生了自动拆箱即n2.intValue(),变成了基本数据类型
      然后进行运算,结果为基本数据类型的30
      30再自动装箱,底层调用Integer.valueOf(30)
      变成对象n3

引用类型的常量池:

       常量池一包是用来存储以字面量赋值的数据,设计常量池为了节省空间,

     字面量存储在常量池中,当有别的对象以相同的字面量赋值时,可以直接将地址传给对象

     如果常量池中没有想要的数据,那么就在常量池中创建,之后在传给对象

 

包装类的常量池:
    当将基本数据类型进行自动装箱时,装箱后的对象的字面量,如果
    是在-128-127之间,会存储在常量池中,如果再有这样的操作时
    会先检查常量池中是否有相同字面量的对象
    每一个都有自己的常量池
    整数类型 -128-127之间
    Character 0-127之间
    Boolean true false
总结:
    1、八种包装类都是final修饰
    2、一经创建,对象内容不可变
    3、Character和Boolean的父类是Object
       其他六种的父类是Number类型
      BigDecimal:大数据类型
        如果想精确无误差运算,我们可以使用BigDecimal类型:
        提供了相应的加减乘除等功能方法进行精确运算。
--------------------- 
作者:安德烈雪99 
来源:CSDN 
原文:https://blog.csdn.net/qq_38787854/article/details/81837373 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值