我真的了解基本数据类型和引用类型的自动拆装箱吗?
来源:互联网 发布:java中的api文档 编辑:程序博客网 时间:2024/04/24 17:42
Java中我们熟知的四类八种数据类型为什么会有包装类?自动拆箱装箱又是怎么实现的?
以int和Integer为例首先我们要清楚基本类型和引用类型声明方式在内存中展现的不同:
声明:
Integer int2 = new Integer(180); int int1 = 180;
我们写一段代码如下:
经过编译器一手后就自动变成这样:
将int的变量转换成Integer对象,叫做装箱,反之将Integer对象转成int类型值,叫做拆箱,这个过程是在编译成class文件自动加上的,不需要程序员手工介入。
那我们为什么要使用包装类型?
一
首先对象是对现实世界的模拟,如果我们查询一个对象的年龄,年龄未录入,如果用int声明年龄就必须初始化,初始化为0吗?不合适,那么用Integer来声明表示null就表示未录入更符合面向对象的特征。
二
为泛型提供支持,泛型必须是一个对象(这点很强制)
三
Integer可以提供更丰富的属性和API
思考下如下代码
public static void main(String[] args) { Integer int2 = new Integer(180); int int1 = 180; System.out.println(int2.equals(int1)); System.out.println(int2 == int1); System.out.println(new Integer(180).equals(new Integer(180))); System.out.println(new Integer(180)==new Integer(180)); }
打印
阅读全文
0 0
- 我真的了解基本数据类型和引用类型的自动拆装箱吗?
- 基本数据的自动拆装箱
- 05.基本数据类型的自动拆装箱及享元设计模式
- 黑马程序员---java基础加强---基本数据类型的自动拆装箱
- Integer的缓存和自动拆装箱
- Java支持的数据类型有哪些?什么是自动拆装箱?
- java支持的数据类型有哪些?什么是自动拆装箱?
- JDK1.5之前基本类型和包装类型之前的拆装箱
- 由基本数据类型和引用类型想到的
- 关于数组的基本数据类型和引用类型
- 引用类型和基本数据类型的传参问题
- java的自动拆装箱
- 黑马程序员_Java高新技术_基本类型数据的自动拆装箱及享元设计模式
- 函数的调用-基本数据类型/引用类型
- 基本数据类型,引用类型的总结
- 你真的了解C#中的值和引用吗?
- 基本数据类型和引用类型
- 基本数据类型和引用数据类型的传递
- linux awk命令
- mybatis简单使用
- java中stringBuilder的用法
- Oracle 建立数据库,用户,表空间,数据导入
- 微信小程序动态增加组件、删除组件
- 我真的了解基本数据类型和引用类型的自动拆装箱吗?
- centos 7.2 安装 mysql 5.6
- Django admin 的 list_display 变量统计后台作者发贴总数
- nvl()函数和nvl2()函数
- phpstudy 版本切换问题
- 将字符串中空格替换成“20%”
- (转)解决Android 5.0以上版本Button自带阴影效果的方法
- wifi判断
- Spring MVC 重定向