包装类


很重要

  1. 包装类的特点
  2. 装箱与拆箱操作
  3. 数据类型处理

基本概念

Object类可以接收所有的引用数据类型,因为引用数据类型本质上就是对象,但 是这之中会出现一个新的问题,基本数据类型不是对象,所以发现在最初设计的过程之中,Object类无法接收基本数据类型。所以最早人们提出一点,能不能将基本数据类型包装以下,就采用了如下的代码结构。
范例:最初的包装设计
在这里插入图片描述
在这里插入图片描述
正是因为有这样的需求提出(参数统一需求),所以从最早的JDK1.0开始就提供有了包装类,用户不再需要包装类的设计,而在JDK1.5之后有解决了包装类参与数学计算的问题。
Java提供的八种基本数据类型的包装类:byte(Byte)、short(Short)、int(Integer)、float(Float)、double(Double)、char(Character)、boolean(Boolean),而这八种包装类也分为两种类型:

  • 对象型(java.lang.Object 直接子类):Character、Boolean;
  • 数值型(java.lang.Number 直接子类:Byte、Short、Integer、Long、Float、Double。
    对于Number类可以发现其本质上是一个抽象类:
    在这里插入图片描述
    而后在这个Number类中提供有六个操作方法:
  • 从包装类取出byte数据:publicbyte byteValue();
  • 从包装类取出int数据:publicabstract int intValue();
  • 从包装类取出short数据:publicshort shortValue();
  • 从包装类取出long数据:publicabstract long longValue();
  • 从包装类取出float数据:publicabstract float floatValue();
  • 从包装类取出double数据:publicabstract double doubleValue();
    严格来讲,这几个方法都属于拆箱方法;

装箱与拆箱操作

在这里插入图片描述
范例:以Integer与int为例
在这里插入图片描述
范例:以Double与double为例
在这里插入图片描述
所有的装箱与拆箱操作都有固定的模式,然而以上的代码是在JDK1.5之前采用的,现在不可能采用此类方式了,因为太麻烦了。所以从JDK1.5之后提供有自动装箱与拆箱的支持。
范例:以Integer为例
在这里插入图片描述
范例:以Boolean为例
在这里插入图片描述
实际上有了这种自动装箱的机制存在,就可以使用Object接收基本数据类型了。
范例:利用Object接收int
在这里插入图片描述
结论:Object无所不能,所有的数据类型都可以接收。

数据类型转换

包装类本身有一个非常重要的功能,就是字符串转换为基本数据类型的操作。因为在实际的开发之中,用户只要进行输入操作,其类型就是String。
在包装类里面都提供有一些转换方法,以常用的几个类型为主:
在这里插入图片描述
** 范例 **:以Integer为例
在这里插入图片描述
在这里插入图片描述
但是此时有两点注意:

  • 如果字符串要转换为数字,其必须有数字所组成;
  • 关于比较的问题。
    在这里插入图片描述
    因为在实际开发之中,包装类使用较多,所以在进行“==”比较的时候,要使用equals()方法才是最保险的。
    ** 范例 **:以Double为例
    在这里插入图片描述
    在使用parseDouble()将字符串转换为double类型的时候,里面的组成可以是整数,也可以是小数。
    范例:以Boolean类为例
    在这里插入图片描述
    发现在使用Boolean类型操作的时候比较方便,即使给定的字符串内容不是true或者是false,其最终都会按照false来进行处理。
    提示:String与基本数据类型的转换
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值