Java中的类型分为原始类型和对应的封装类型(装箱类型),基本类型包括byte字节型(一个字节)、char字符型(两个字节)、short短整型(两个字节)、int整型(四个字节)、long长整型(八个字节)、float浮点型(四个字节)、double 双精度浮点型(八个字节)、boolean型(一个字节)八种类型,对应的封装类型分别是Byte、Character、Short、Integer、Long、Float、Double、和Boolean。

基本类型和封装类型主要存在三个方面的区别:1.基本类型只有值,而两个封装类型可以有相同的值和不同的同一性;2.基本类型只有功能完备的值,而封装类型除此之外还有非功能值:null;3.基本类型比封装类型更节省空间和时间。

Java1.5发行版本增加了自动装箱(autoboxing)和自动拆箱(autounboxing)功能,提供了基本类型和封装类型的相互转换。自动装箱实现了基本类型向封装类型的转换,如下面的代码。

Integer number = 10;

实际的执行代码是:

Integer number = new Integer(10);

对于自动拆箱,形如下代码:

Integer number = 10;
int number2 = number;

实际执行的代码为:

int number2 = number.intValue();

当在一项操作中混合使用基本类型和封装类型时,封装类型就会自动拆箱。

封装类型最好不要过度用,否则会影响性能,如下情形可以合理使用。作为集合中的元素、键和值,在参数化类型中必须使用封装类型作为类型参数,如不能声明ThreadLocal<int>类型,而是ThreadLocal<Integer>;在进行反射的方法调用时必须使用封装类型。

Java中的基本类型与封装类型以及自动装箱、拆箱相关推荐

  1. java 自动拆箱_Java中的自动装箱拆箱

    Java中的自动装箱拆箱 一.自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型. 1 //自动装箱 2 Integer total = 90; ...

  2. java自动装箱拆箱深入剖析

    这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆:  java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装 ...

  3. Java自动装箱/拆箱 - Java那些事儿

    昨天Java基本数据类型和引用类型一文中漏了几张图,已经补上,需要的自己回头去看,本系列文章首发于公众号:saysayJava. 在让人疑惑的Java代码 - Java那些事儿 一文中我们说到编译器自 ...

  4. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?

    参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...

  5. Java自动装箱/拆箱

    自动装箱和自动拆箱 那么Java中有八大基本数据类型,byte.char.short.int.long.double.float.boolean.而它们有对应的包装类 Byte.Character.S ...

  6. Java基础笔记 – 增强的for循环For each循环 自动装箱拆箱 可变参数

    1.For each循环:1.1.语法:1.2.For each循环的使用:1.3.嵌套For each循环:1.4.三种循环遍历集合的列举:1.5.增强的for循环的缺点:2.自动装箱/拆箱(Aut ...

  7. Java 8 自动装箱拆箱效率影响测试

    Java 8 自动装箱拆箱效率影响测试 测试完毕之后的结论:   1. 装箱发生 232−12^{32-1}232−1 次的时候影响时间大概为10秒   2. 拆箱发生 232−12^{32-1}23 ...

  8. java自动装箱拆箱原理

    java自动装箱拆箱原理 看了很多博主都没写原理,只是浅显地说了自动装箱拆箱的含义,我就把这个必须知道的知识写一下吧 1.自动装箱 以int -> Integer为例,Integer integ ...

  9. java基础--06(自动装箱拆箱)

    目录 1.自动装箱,自动拆箱 1.自动装箱,自动拆箱 装箱就是自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型. java的数据类型: 自动装箱: 最主要的就是Inte ...

  10. Java自动装箱拆箱

    装箱就是自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型. 自动装箱,范围在 -128 ~ 127 [256个数字 ]的地址是一样的,-128 到 127 之间的有个自 ...

最新文章

  1. Glide执行流程总结
  2. android专栏目录
  3. 用神经网络分类一维矩阵
  4. 【渝粤教育】国家开放大学2018年秋季 2726T畜禽生产概论 参考试题
  5. MFC Radio Button笔记
  6. Python中的open和codecs.open
  7. PHP-基于ipip.net制作的IP查询接口源码
  8. 练习:去除df某列里面字符串里面的空格, .str.strip(); series.str.replace(); df.replace()
  9. autojs之语音识别
  10. Python3.x+迅雷x 自动下载高分电影
  11. 愤怒的小鸟 高清完整版下载
  12. 百度分享支持https
  13. (ACWing yxc算法基础课笔记)差分
  14. php m pi 2,PHP rad2deg()函数
  15. DDR3和DDR4内存有什么区别?DDR3和DDR4的区别
  16. 基于禁忌搜索优化的VRP问题求解matlab仿真
  17. Linux 网络包接收过程的监控与调优
  18. arista 交换机镜像端口配置(将某一端口的数据转发到指定端口)
  19. 正则表达式与JSON
  20. Fluent求解器——亚松弛因子

热门文章

  1. ​Au入门系列之二:编辑器与常用操作
  2. [转]谁在吝惜爱的誓言??
  3. JS中append方法与appendTo有什么区别了?
  4. 2022年四川省职业院校技能大赛网络搭建与应用赛项
  5. vue 前端内存问题 解决方案
  6. react封装翻页插件
  7. VS(Visual Studio)中如何添加和使用资源图片
  8. 正则表达式?来直接告诉你怎么写
  9. 31条指令单周期cpu设计(Verilog)-(三)指令分析
  10. 计算机论文网络教学,网络教学下计算机教育论文