一、什么是Java包装类

  所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式。包装类与基本数据类型的对应关系如下表所示。

基本数据类型

包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

  其中,Byte、Short、Integer、Long、Float、Double是Number的子类,Character和Boolean是Object的子类。

二、为什么会有Java包装类

  Java是一门面向对象的编程语言,提倡“一切皆对象”,而Java中的基本数据类型却不是对象,这就导致当我们要对基本数据类型进行操作的时候会存在诸多不便,比如说,我们要将整型数据转换为字符串,或者将字符串转换为整型、浮点型数据,或者获取某个整数的二进制、八进制、十六进制等等,都需要我们站在对象的角度进行操作,因此将基本数据类型包装成类,以便把基本数据类型当做对象来进行处理。

三、装箱与拆箱——实现基本数据类型与包装类之间的相互转换

  基本数据类型和包装类之间的转换是通过装箱与拆箱来实现的。包装类提供了装箱和拆箱的方法,例如:

  通过包装类的构造方法,我们可以实现装箱

Integer a = new Integer(6);//装箱

  通过包装类的拆箱方法,我们可以实现拆箱 

Float a = new Float(66.6f);//装箱
float b = a.floatValue();//拆箱

  在JDK1.5之前,装箱与拆箱需要通过以上方式手动实现,在JDK1.5之后,Java提供了自动装箱和拆箱机制,例如:

Integer i = 60; //自动装箱
Float f = 66.6f;//自动装箱
int a = i;//自动拆箱
Float b = f;//自动拆箱

四、包装类的应用

  在实际应用中,通过包装类,我们可以将字符串变为基本数据类型,例如:

int i = Integer.parseInt(“123”);//将”123”装换为int类型的数据
float f = Float.parseFloat(“456”);//将”456”转换为float类型的数据

  也可以将基本数据类型变为字符串,例如:

String s = Integer.toString(123);//将123装换为字符串

  还可以进行二进制、八进制、十进制、十六进制之间的转换,例如:

int m = 10;
String binaryString = Integer.toBinaryString(m);//获取m的二进制形式
String hexString = Integer.toHexString(m);//获取m的十六进制形式
String octalString = Integer.toOctalString(m)//获取m的八进制形式

  除此之外,包装类提供的API还可以完成很多操作。

五、总结

  Java的包装类是站在面向对象的角度上对基本数据类型的封装,是为了在程序中用面向对象的思想去操作基本数据类型。

最新文章

  1. SQL优化快速入门
  2. ASP注入靶机
  3. js 字符串编码转换函数
  4. java开发webservice
  5. html ui设计案例
  6. HDU2586
  7. 利用DataImportHandler建索引时一直无法完成
  8. DNS与获取
  9. input _文本框回车或者失去光标触发事件
  10. javaweb项目中发布webservices服务
  11. CVE-2014-0038内核漏洞原理与本地提权利用代码实现分析 作者:seteuid0
  12. Tomcat闪退的问题
  13. zabbix入门知识
  14. LVS的DR模型配置
  15. SQLServer之集合
  16. FineUIMvc表格数据库分页,使用CYQ.Data组件
  17. 201771010118 马昕璐 《面向对象程序设计(java)》第十三周学习总结
  18. create-react-app创建项目并用git上传至GitHub及展示预览效果
  19. 6. CountDownLatch 闭锁
  20. iPhone 获取指定格式的时间和日期

热门文章

  1. 剑指offer系列46---和为s的连续正数序列
  2. web几个高性能框架的简单测试
  3. c++的历史-异常
  4. rsync 同步文件
  5. sqlite3移植到arm linux
  6. Mysql分区技术
  7. css设置背景图片,ie显示不了
  8. JVM如何理解Java泛型类(转)
  9. JavaScript 中 4 种常见的内存泄露陷阱
  10. JDK动态代理与Cglib库