Java中的基本类型与封装类型以及自动装箱、拆箱
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中的基本类型与封装类型以及自动装箱、拆箱相关推荐
- java 自动拆箱_Java中的自动装箱拆箱
Java中的自动装箱拆箱 一.自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型. 1 //自动装箱 2 Integer total = 90; ...
- java自动装箱拆箱深入剖析
这个是jdk1.5以后才引入的新的内容,作为秉承发表是最好的记忆,毅然决定还是用一篇博客来代替我的记忆: java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装 ...
- Java自动装箱/拆箱 - Java那些事儿
昨天Java基本数据类型和引用类型一文中漏了几张图,已经补上,需要的自己回头去看,本系列文章首发于公众号:saysayJava. 在让人疑惑的Java代码 - Java那些事儿 一文中我们说到编译器自 ...
- Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?
参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...
- Java自动装箱/拆箱
自动装箱和自动拆箱 那么Java中有八大基本数据类型,byte.char.short.int.long.double.float.boolean.而它们有对应的包装类 Byte.Character.S ...
- Java基础笔记 – 增强的for循环For each循环 自动装箱拆箱 可变参数
1.For each循环:1.1.语法:1.2.For each循环的使用:1.3.嵌套For each循环:1.4.三种循环遍历集合的列举:1.5.增强的for循环的缺点:2.自动装箱/拆箱(Aut ...
- Java 8 自动装箱拆箱效率影响测试
Java 8 自动装箱拆箱效率影响测试 测试完毕之后的结论: 1. 装箱发生 232−12^{32-1}232−1 次的时候影响时间大概为10秒 2. 拆箱发生 232−12^{32-1}23 ...
- java自动装箱拆箱原理
java自动装箱拆箱原理 看了很多博主都没写原理,只是浅显地说了自动装箱拆箱的含义,我就把这个必须知道的知识写一下吧 1.自动装箱 以int -> Integer为例,Integer integ ...
- java基础--06(自动装箱拆箱)
目录 1.自动装箱,自动拆箱 1.自动装箱,自动拆箱 装箱就是自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型. java的数据类型: 自动装箱: 最主要的就是Inte ...
- Java自动装箱拆箱
装箱就是自动将基本数据类型转换为包装器类型:拆箱就是 自动将包装器类型转换为基本数据类型. 自动装箱,范围在 -128 ~ 127 [256个数字 ]的地址是一样的,-128 到 127 之间的有个自 ...
最新文章
- Glide执行流程总结
- android专栏目录
- 用神经网络分类一维矩阵
- 【渝粤教育】国家开放大学2018年秋季 2726T畜禽生产概论 参考试题
- MFC Radio Button笔记
- Python中的open和codecs.open
- PHP-基于ipip.net制作的IP查询接口源码
- 练习:去除df某列里面字符串里面的空格, .str.strip(); series.str.replace(); df.replace()
- autojs之语音识别
- Python3.x+迅雷x 自动下载高分电影
- 愤怒的小鸟 高清完整版下载
- 百度分享支持https
- (ACWing yxc算法基础课笔记)差分
- php m pi 2,PHP rad2deg()函数
- DDR3和DDR4内存有什么区别?DDR3和DDR4的区别
- 基于禁忌搜索优化的VRP问题求解matlab仿真
- Linux 网络包接收过程的监控与调优
- arista 交换机镜像端口配置(将某一端口的数据转发到指定端口)
- 正则表达式与JSON
- Fluent求解器——亚松弛因子