JAVA包装类

一、包装类来源
众所周知,java是一门面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便(无法通过向上转型获取到Object提供的方法,无法参与转型,集合、泛型,反射等过程),为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),也翻译为外覆类或数据类型类。
包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

注意:除了Integer和Character类,其它六个类只是基本类型的首字母大写即可。

二、包装类分类:
常用的包装类可以分为三类:Character、Number、Boolean,当然按照继承关系也可以说分为两类:一种是对象型包装类,不继承任何其他类(Object的直接子类),另一种是数值型包装类,继承于Number类。

对象型包装类(不继承任何其他类,Object的直接子类)
// boolean的包装类
public final class Boolean implementsjava.io.Serializable,Comparable
// char的包装类
public final class Character implementsjava.io.Serializable, Comparable
数值型包装类(继承于Number类)
// byte的包装类
public final class Byte extends Numberimplements Comparable
// short的包装类
public final class Short extends Numberimplements Comparable
// int的包装类
public final class Integer extends Numberimplements Comparable
// long的包装类
public final class Long extends Numberimplements Comparable
// float的包装类
public final class Float extends Numberimplements Comparable
// double的包装类
public final class Double extends Numberimplements Comparable
三、包装类主要常用操作(重点)
a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

//获取基本数据类型的相关属性
System.out.println(Byte.MIN_VALUE);//-128 最小值
System.out.println(Byte.MAX_VALUE);//127 最大值
System.out.println(Byte.SIZE);//8 [数据类型的大小(bit)]

//包装类型的一些实用操作,如类型转换、进制转换等这里以Integer为例,主要介绍parseInt、toString等方法
//ParseInt属性实现进制转换、字符串转int类型
Int num1= Integer.parseInt(“100”);//将字符串转换为int类型
int num2 = Integer.parseInt(“ff”, 16);//将字符串按任意进制转换为int数16进制
System.out.println(num1); //100
System.out.println(num2);//255

//将int数转换为String类型的数
String s1 = Integer.toString(100);
System.out.println(s1);//100
//将int数转换为任意进制的String类型的数,常用于十进制数转换为任意进制数
String s2 = Integer.toString(100,8);
String s3 = Integer.toString(100,16);
System.out.println(s2);//144
System.out.println(s3);//64
四、自动装箱和自动拆箱
装箱及拆箱
1)将基本数据类型变成包装类称为装箱。
2)将包装类的类型变为基本数据类型称为拆箱。
3)在JDK1.5之后,提供了自动装箱和自动拆箱功能。
自动装箱和自动拆箱也就是系统将自动进行基本数据类型和与之相对应的包装类型之间的转换

五、包装类的一些重要特性:
• 包装类属于类类型是引用类型,默认值为null
• 所有包装类都可以将与之对应的基本数据类型作为参数来创建它们的实例对象
• 除了Character类之外,其他包装类都可以将一个字符串作为参数来构造它们的实例
• 当包装类Number构造方法的参数为String类型时,字符串不能为null,并且该字符串必须能够解析为基本类型的数据
• 集合不允许存放基本数据类型,故常用包装类
• 包含了每种基本数据类型的相关属性,如最大值、最小值、所占位数等
• 作为基本数据类型对应的类类型,提供了一系列实用的对象操作,如类型转换、进制转换等等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值