一、什么是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的包装类是站在面向对象的角度上对基本数据类型的封装,是为了在程序中用面向对象的思想去操作基本数据类型。

java一年包装_浅谈Java的包装类相关推荐

  1. java 中的单元测试_浅谈Java 中的单元测试

    单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...

  2. java编程double相乘_浅谈Java double 相乘的结果偏差小问题

    看下面的一段代码的运行结果: public class TestDouble { public static void main(String[] args) { double d =538.8; S ...

  3. java布尔类型比较器_浅谈Java中几种常见的比较器的实现方法

    在java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...

  4. java null什么意思_浅谈java中null是什么,以及使用中要注意的事项

    1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...

  5. java定义byte数组_浅谈java的byte数组的不同写法

    (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...

  6. java 中的排序_浅谈java中常见的排序

    浅谈java中常见的排序 学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到.然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等.下面就让我们一起揭开他 ...

  7. java 对象之间转换_浅谈java对象之间相互转化的多种方式

    浅谈java对象之间相互转化的多种方式,对象,属性,参数,赋值,不支持 浅谈java对象之间相互转化的多种方式 易采站长站,站长之家为您整理了浅谈java对象之间相互转化的多种方式的相关内容. 第一种 ...

  8. java变量命名规则_浅谈JAVA开发规范与开发细节(上)

    开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个团队的代码规范 ...

  9. java继承和引用_浅谈Java继承、传递

    一.继承 1. 继承的概念: 子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序: 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属 ...

最新文章

  1. 在ASP.NET 中实现单点登录
  2. Python 多进程的进程池pool运行时报错:ValueError: Pool not running
  3. 洛谷——P1102 A-B数对
  4. c语言NULL和0区别
  5. CVPR2021-PaperWithCode
  6. Mac端解决(含修改8.0.13版的密码):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)...
  7. zabbix监控特定进程
  8. 剪映专业版Mac版上线,来讲讲体验感吧
  9. python beautifulsoup多线程分析抓取网页
  10. android 碎片问题,Android碎片问题
  11. 雷军和董明珠“十亿赌局”胜负已定:小米格力营收差距依然很大
  12. ESP8266/ESP8285 启动报错 csum err ets_main.c 解决办法
  13. ARCHPR(暴力破解压缩包密码软件)
  14. WWW 2015 | LINE:大规模信息网络的嵌入
  15. 仿牛客社区项目笔记-帖子模块(核心)
  16. 8086系统中 BHE# 和 A0 引脚
  17. 华硕W519L(win10系统)安装黑苹果全过程(几乎完美,已洗白)
  18. 为什么wps数字前面有撇号_表格中输入18位超长的数值后变样了? 别急! 两招搞定!...
  19. 增值税发票二维码解析
  20. python数据分析:流量数据化运营(中)——流量数据波动原因下探分析

热门文章

  1. 23、Java Swing JTree:树组件
  2. 通过Application对象实现网站计数器
  3. CSS入门之【背景图像和渐变】
  4. Mybatis的动态查询
  5. Spring MVC的优势
  6. 推荐一套开源通用后台管理系统(附源码)
  7. 蓝桥杯-9-3摩尔斯电码(java)
  8. 【Servlet】Cookie应用:显示上次访问页面时间
  9. 一天搞定CSS:文本text--05
  10. opensplice dds v6.3.2_信号发生器与DDS技术,如何攻克设计难关?