封装,是java这门语言的重要核心思想之一,封装也是对面向对象这一思想很好的体现。

在很多情况下,我们需要对数据进行一些转换,如:将一字符串"123"转换成int类型的123,或者将123转换成"123"这样的字符串,再或者,我们站在对象的角度,获取int类型所能表示的最大整数(Integer.MAX_VALUE)等等这些运用,都要用到基本数据类型的封装类。

下面是8种基本类型和与其相对应的封装类(包装器类型)。

注意:java中直接就是String类,所以它不是基本类型。

1.基本类型和封装类的相互转换(以int类型为例)

基本数据类型转封装类:

int num = 3;

Integer integer = new Integer(num);

JDK在添加了自动装装箱的功能之后,我们甚至可以Integer integer = 3;

封装类转基本数据类型:

Integer integer = new Integer(3);

int num = integer.intValue();

当然,也可以直接 int num = integer,这里的自动拆箱,其实也是调用了封装类的intValue()方法来实现的。

注意:简单来说,装箱就是  自动将基本数据类型转换为包装器类型;拆箱就是  自动将包装器类型转换为基本数据类型。

进行 = 赋值操作(装箱或拆箱)

进行+,-,*,/混合运算 (拆箱)

进行>,

调用equals进行比较(装箱)

ArrayList,HashMap等集合类 添加基础类型数据时(装箱)

2、将String类型字符串与基本数据类型进行转换。

字符串转基本数据类型:

String ageString = "23";

int age = Integer.parseInt(ageString);

基本数据类型转字符串:

String age = 23 + "";

或者 String age = String.valueOf(23);

封闭类转字符串:

直接调用封装类对象的toString()方法即可。

Integer age = 23;

String ageString = age.toString();

java 封装类_java的基本类型和对应的封装类相关推荐

  1. java 基本类型封装类,Java 八种基本类型和基本类型封装类-九五小庞

    Java 八种基本类型和基本类型封装类-九五小庞 1.首先,八种基本数据类型分别是:int.short.float.double.long.boolean.byte.char: 它们的封装类分别是:I ...

  2. java 基本类型 包装类型_Java中基本类型和包装类

    基本类型运算 boolean类型数据可以进行逻辑运算(&&,||,!),其他的基本类型都可以进行数值计算(+,-,*,/).逻辑运算比较简单易懂,完全与逻辑数学的规则一致,而数值运算涉 ...

  3. java 基本类型 线程安全_java的基本类型和i++线程安全性的深入解析

    在java中,除了long和double的8个字节.64位比特的变量外,其他的基本变量都是原子性的. java存储模型要求获取和存储操作都为原子性,但是对于非volatile的long和double变 ...

  4. Java之参数传递(基本类型和引用类型)

    背景: 两类参数传递 参数传递主要分为两种:一种是参数是基本类型,一种是参数为引用类型. 基本数据类型 这个相信大家都没什么问题,基本类型作为参数传递的时候是在一个方法栈中开辟了一块新内存,拷贝了原来 ...

  5. java包装器类_Java中的基本类型和包装类

    Java中基本数据类型与包装类型有 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long L ...

  6. java的包装类型是什么用_Java基本类型和包装类型的区别

    包装类型可以为 null,而基本类型不可以 别小看这一点区别,它使得包装类型可以应用于 POJO 中,而基本类型则不行. POJO 是什么呢?这里稍微说明一下. POJO 的英文全称是 Plain O ...

  7. Java中,一切皆是对象,为何数据类型中还分为:基本类型和对象?

    Java中,一切皆是对象!为何数据类型中还分为:基本类型和对象?按理不应该只有一个类型-对象吗? 1.首先,Java中一切皆是对象!这句话没错,因为八种基本类型都有对应的包装类(int的包装类是Int ...

  8. 对象在内存中的存储基本类型和包装类java类型转换

    对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...

  9. 【Java基础】基本类型和包装类的区别

    前言 Java 一种静态编程语言,所有变量和表达式是在编译时就确定的.同时,Java 又是一种强类型语言,所有的变量和表达式都有具体的类型,并且每种类型是严格定义的.在 Java 中共有8种基本类型数 ...

最新文章

  1. hibernate加载持久化对象的两种方式---------------load方式和get方式
  2. 关于css方面的技巧
  3. 【漫画解读银行业务】
  4. 【NLP】10000亿参数!英伟达用3072块A100训出史上最大最贵GPT!
  5. http端口_PhpStorm 修改默认端口号63342
  6. php给别人写接口,php给客户端写接口记录
  7. postgreSQL源码分析——索引的建立与使用——B-Tree索引(3)
  8. html 滚动条处于页面底部,滚动条一直置于页面底部,开发聊天程序须知。
  9. webpack对模块查找的优化
  10. 【机器人技术基础】MATLAB Robotics Toolbox PUMA560 运动学正逆解
  11. Stata因为“只读文件”不能存储的处理方法
  12. 贪吃蛇c语言代码 vc++6.0,贪吃蛇代码-C语言版-VC++6.0
  13. U盘写保护,不能被格式化
  14. 图片边缘出现黑点的问题分析和解决(纹理过滤)
  15. Linux常用命令-2
  16. Android AGP 7.0 适配,开始强制 JDK 11
  17. 3d打开无法下载star.php,下载的3dmax模型打开失败的原因及解决方法
  18. #304 – 为没有文本标题的控件定义Access 键(Defining an Access Key That Gives Focus to a Different Control)
  19. 分享自己的页游运维架构
  20. android在framework层增加自己的service仿照GPS

热门文章

  1. 美图秀秀自动化测试工程师笔试面试
  2. 一款非常好用的Markdown文档编辑器Typora
  3. 基于深度学习自动对焦技术
  4. 见过的最全的iOS面试题
  5. 转自周金涛:一辈子有三次暴富机会,最近的一次在2019年?2018年你要怎么做? (2018-02-21 17:49:17)...
  6. C语言代码(打印国际象棋棋盘)
  7. css伪类加垂直分割线
  8. Kafka-Steam Branch功能 对数据进行切分Steam,发送到指定的Topic
  9. 计算机四级网络工程师
  10. 验证中国的座机号的正则表达式