Java是一种面向对象的编程语言,他提供了8种基本数据类型。但是,这8种基本数据类型并不符合面向对象的编程机制,因为基本数据类型并不具有对象所具有的属性,方法,构造方法等特征。Java之所以提供8中基本数据类型主要是为了保持和c等其他语言的延续性。

Java提供了对8种基本数据类型的“包装”,称之为包装类。包装类符合对象的特征,对基本数据类型进行了封装,提供了一些必要的属性和方法,满足了面向对象编程的要求。每种基本数据类型都有一个包装类与之相对应。

包装类属于对象范畴,而基本数据类型只是表征数值的数据类型,例如,Integer和int是个完全不同的类型,Integer是引用数据类型,int是基本数据类型,Integer作为对象类型具有属性和方法,而int类型则没有。

使用包装类需要进行实例化操作,语法如下:

包装类 类变量=new 包装类(初始化值);

基本数据类型数值和包装类对象之间可以进行相互转换

举一个int与Integer的实例

第6行:由于Interger类型是一个包装类,属于对象范畴,即需要在使用他是实例化其对象。图中横线表示此方法虽然可以使用,但是已经废弃(建议使用自动拆箱与装箱)。

第8行:需要获取其值得时候,可以使用他的xxxValue()方法来取值,如intValue()方法来获取int值。

可以看到控制台输出了相应的数值。相应的,包装类与基本数据类型也可以相互转化。

自动装箱与自动拆箱

自从jdk5.0以后,java提供了自动装箱和自动拆箱的功能。即基本数据类型与包装类之间相互转换的一种简化机制。

自动装箱能够使一个基本数据类型数值直接赋给对应的包装类实例变量,或者转换为Object类实例变量;自动拆箱与之相反,允许一个包装类实例变量直接赋给一个对应的基本数据类型变量。

举个栗子:

包装类转换

包装类主要提供了基本数据类型数值和字符串之间的转换,除了Character类之外的其他包装类都提供了一个parseXxx(String s)的方法,用于将特定字符串转换成基本数据类型的数值。

String类也提供了valueOf()方法把一个基本数据类型的数值转换为字符串。

直接上代码:

代码中我们先将字符串a1用Integer类的parseInt()方法装换为int类型。再使用String类的valueOf()方法将a2转换为String类型。然后在控制台输出。

java包装类转换_Java从入门到入土(38)包装类转换相关推荐

  1. java jdk安装_Java从入门到入土第一课—JDK安装及环境配置

    安装步骤如下: 下载jdk 在浏览器输入:https://www.oracle.com/technetwork/java/javase/downloads 选择想要下载的jdk版本,以Java SE ...

  2. java字符流和字节流转换_java中字符流和字节流的转换

    看到InputStreamReader和OutputStreamWriter的一些说法, 说InputStreamReader是将字节流转换成字符流,而OutputStreamWriter则相反,是将 ...

  3. java从入门到入土图_Java从入门到入土day08

    好家伙,这个作者竟然妄图一天就把面向对象的两个特征说了.他可真是自不量力啊,作者心中OS:学习真累,赶快写完去打游戏真香. 正文分割线 一.抽象 1.抽象的定义:抽象,字面意思.很抽象,很多人都不懂的 ...

  4. java main生命周期_Java从入门到入土(62)线程的生命周期

    线程是程序内部的一个顺序控制流,他具有一个特定的生命周期.在一个线程的生命周期中,他总是处于某一种状态中.线程的状态表示了线程正在进行的活动以及在这段时间内线程能完成的任务. 线程的生命周期包括五个状 ...

  5. java写方法用来调用_Java从入门到入土(79)lambda表达式和方法引用

    lambda表达式是Java8引入的新功能.lambda表达式以字面量的形式把少量代码直接写在程序中,从而让 Java 编程更符合函数式风格(Java 实质上是面向对象语言.不过,引入lambda 表 ...

  6. java从入门到入土_Java从入门到入土100天,第四天

    第四天,String的常用方法 首先,先说明一个重点,在大部分语言中,String 都是不可变的,改变的都是建一个新的字符串然后将修改结束的字符串存到新的字符串中. 然后再提一个区别:String.S ...

  7. java从基础到入门_Java从入门到入土(30)继承基础

    面向对象的优势在于代码的复用,继承是实现代码复用的重要手段.Java的继承采用单继承机制,即每个子类只能继承一个父类.被继承的类称为父类,而实现继承的类称为子类.通过继承,子类继承父类的非私有属性与方 ...

  8. java语言编写进制转换_Java 3种方法实现进制转换

    由其他进制转换为十进制比较简单,下面着重谈一谈十进制如何化为其他进制. 1.使用Java带有的方法Integer,最简单粗暴了,代码如下 //使用java提供的方法 //但仅局限于比较常用的二进制.八 ...

  9. java api教程_Java api 入门教程 之 JAVA的文件操作

    I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...

最新文章

  1. ActiveMQ依赖JDK版本关系
  2. python Day6 面向对象学习
  3. 微型计算机与接口技术考试题,微机原理与接口技术试题库2
  4. JSF:在传统组件和时尚性能杀手之间进行选择
  5. leetcode —— 523. 连续的子数组和
  6. paip.java swt 乱码问题解决
  7. ASP.NET 主题和外观
  8. 维基百科Wikipedia镜像网站列表
  9. Day3-中文分词技术(常用分词技术介绍)
  10. LINEST函数根据上半年产品销售量预算指定月份的销售量
  11. 记录 activity onStop、onDestroy 延迟调用问题解决过程
  12. 2018 ACM-ICPC青岛现场赛 B题 Kawa Exam 题解 ZOJ 4059
  13. 从Solidworks中导出的.wrl文件无法打开?
  14. linux终端命令大全
  15. 【知识图谱】03图谱设计(使用Protege)
  16. laravel —— 神奇的服务容器
  17. 工作生活运动都不误!KUNG攻公路自行车2018款Horizon装备之
  18. 苏联电子管小型化_探索苏联同种型,将四年之内的斗争数字化
  19. 物联网传感器市场的六个特点分析
  20. 搜狐这个Firefox合法吗?

热门文章

  1. 对偶量子计算机,广义量子干涉原理及对偶量子计算机-物理学进展.PDF
  2. ResNet网络详解并使用pytorch搭建模型、并基于迁移学习训练
  3. 京东小京鱼沙箱联调概要
  4. textarea高度自适应自动增高撑开
  5. 强连通 Tarjan+Kosaraju (HDU1269+hdu3836)
  6. 【流体机械原理及设计01】
  7. python爬虫自学习1+京东商品爬取实例
  8. 哪些道理是你踏入社会才明白的?
  9. STM32cubIDE 黑色主题_主题 | 湖蓝 微信主题 适配7和7以下版本
  10. 小米官网——主页直接跳转登录页或注册页的制作(详细分析)