包装类(阿里云开发者社区学习笔记)

包装类在Java中用于将基本数据类型转换为对象形式,以支持对象操作和Object类的使用。它们包括Boolean,Character等8种,继承自Object或Number。装箱是将基本类型转化为包装类,而拆箱反之。自JDK1.5起,引入了自动装箱和拆箱,简化了开发。然而,从JDK1.9开始,包装类的构造方法被标记为过时。在比较包装类时,应使用equals()方法,考虑溢出情况。
摘要由CSDN通过智能技术生成

简介

包装类主要功能是针对与基本数据类型的对象转换而实现的,并且随着JDK版本的更新,包装类的功能也在发生改变,有着更多支持

为什么会有包装类

Object类最大的特点是所有类的父类,并且可以接收所有的数据类型,但是在这个过程之中就存在有个问题:基本数据类型并不是一个类,所以现在如果要将基本数据类型以类的形式进行处理,那么就需要对其进行包装。

解决方法

基本数据类型进行包装处理后可以像对象一样进行引用传递,同时也可以使用Object类来进行接收。JDK1.0的时候已经提供了包装类的概念,基本数据类型一共有八种,所以提供有八种包装类,那么这八种包装类的基本定义如下:
‒ 对象型包装类(Object直接子类):Boolean,Character
‒ 数值型包装类(Number直接子类):Integer,Byte,Long,Short,Double,Float(Number是一个抽象类,以后只要是看见了Number都应该明确表示它是一个数字的概念)

NO方法名称类型描述
1public byte byteValue()普通从包装类中获取byte数据
2public short shortValue()普通从包装类中获取short数据
3public int int Value()普通从包装类中获取int 数据
4public abstract long longValue()普通从包装类中获取long数据
5public abstract float floatValue()普通从包装类中获取float数据
6public abstract double doubleValue()普通从包装类中获取double数据

装箱和拆箱

基本数据类型的包装类都是为了基本数据类型转为对象提供的,这样对于基本数据类型和包装类之间有如下的处理关系
‒ 数据装箱:将基本数据类型保存到包装类之中,一般可以利用构造方法完成
‒ Integer类:public Integer​(int value)
‒ Double类:public Double​(double value)
‒ Boolean类:public Boolean​(boolean value)

public Boolean​(boolean value)
‒ 数据拆箱:从包装类种获取基本类型
‒ 数值型包装类已经由Number类定义了拆箱的方法了
‒ Boolean型:public boolean booleanValue​()

 Double obj = new Double(1.1);//装箱
 double num = obj.doubleValue(obj);//拆箱

JDK1.9之后,对于所有包装类之中提供的构造方法就变成了过期处理,不建议用户再使用了,这是因为从JDK1.5以后为了方便处理提供了自动的装箱与拆箱的操作,所以这种手工的模式基本上都没人用了.

Object object = 1.1;//double自动装箱为Double,向上转型为Object
double num = (Double) object;//向下转型为包装类再自动拆箱

注意:
以后进行包装类相等判断的时候一定要使用equals()完成,而包装类本身也需要考虑占位的长度,如果超过了一位的内容就需要使用equals()比较,如果不超过则使用“== ”即可判断

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值