java基础:基本数据的自动装拆箱
来源:互联网 发布:mac切换页面快捷键 编辑:程序博客网 时间:2024/06/06 07:48
1、自动装箱和拆箱的概念
自动装箱:是基本数据类型在运算的时候,自动转换成对应的包装类型。
自动拆箱:是包装数据类型在参与运算的时候,自动转换成基本数据类型参与运算。
例如:
Integer iObj = 3;//自动装箱为Integer
System.out.prinrtln(iObj + 1);自动拆箱为基本数据类型参加运算。
2、装箱和拆箱的细节:涉及到基本类型的对象缓存,
a) Integer i1 = 13;
b) Integer i2= 13;
c) System.out.prinrtln(i1==i2);
问:装出来的对象i1,i2是不是同一个?是。
d) Integer i1 = 137;
e) Integer i2= 138;
问:装出来的对象i1,i2是不是同一个?否。
f) Integer i3 = Integer.valueOf(3);
g) Integer i4 = Integer.valueOf(3);
问:装出来的对象i1,i2是不是同一个?是。
原因分析:
如果基本类型的整数要装箱成Integer对象的时候,如果在一个字节的范围内(-128~17),则缓存在一个池里面。下次如果还要封装就先到池里面看有没有,有的话直接拿来,这样节约了内存空间,因为这些小的整数使用的频率较高,反复的出现,如果出现一个就装成一个对象,没必要。
这是就引入了享元模式。
3、享元模式(flyweight)
有许多的小的对象,有许多属性相同,把他们变成同一个对象,不同的属性变成方法的参数,称为外部状态,相同的属性称为内部状态。
4、享元模式的应用:
a) Windows中的图标:
有许多的文件夹,图标一样,只是名字不一样。这样把相同的图标搞成同一个对象,显示的时候有显示的标题和显示的位置。
b) 字母和符号的打印。
- java基础:基本数据的自动装拆箱
- 黑马程序员—Java基础加强 (基本数据的自动拆装箱及享元设计模式)
- 基本数据的自动拆装箱
- 黑马程序员---java基础加强---基本数据类型的自动拆装箱
- 13.java语言基础-基本类型的自动转换强制转换
- 一些基本的java基础
- Java菜鸟学习笔记--语法篇(二):基本数据的自动/强制转换
- [Java笔记]基本数据的自动拆装箱及享元设计模式
- 数据的基本类型 java
- Java 基本数据封装类自动装箱与拆箱
- 大数据Java基础系列-Java基本数据类型
- Java基础学习-Java的基本语法
- java基础之java的基本了解
- Java基础笔记:Java的基本语法
- java语言基础【java的基本数据类型】
- Java基本类型的自动装箱与自动拆箱
- Java基本类型以及基本类型间的自动转换
- 基础中的基础,数据基本类型的练习
- HDU 5056 - Boring count
- android官方侧滑菜单DrawerLayout详解
- hdu 4597 记忆化搜索
- hdoj 5045 (dp 状态压缩)
- RabbitMQ 入门
- java基础:基本数据的自动装拆箱
- 问题反思
- find中的-print0和xargs中-0的奥妙
- 前端领域存在“架构师”吗
- win8 安装程序时出现2502 2503错误解决方法
- Mockups
- 解决union all 联合查询,速度慢的问题
- kthread_work和kthread_worker机制
- 友链SEO工具:换链神器测试体验