Java中包装类的一些注意点
来源:互联网 发布:淘宝客链接转化api 编辑:程序博客网 时间:2024/06/06 10:49
java中8种基本类型变量对应的包装类:
byte -- Byte
short -- Short
int -- Integer
long -- Long
float -- Float
Double -- Double
boolean -- Boolean
char -- Character
包装类型的自动拆箱与自动装箱实现原理
从JDK1.5之后java引入了自动装箱与自动拆箱技术。
一般我们产生一个对象都是通过new的形式,而包装类型的自动装箱则是这样:
Long t1 = 1000L;
不必感到诧异,其实底层在编译阶段就把上述代码改成:
Long t1 = Long.valueOf(1000L);
---------------------------------------------------------------------------------------------------
拆箱机制:
long t2 = t1;
伦理片 http://www.dotdy.com/
拆箱底层编译期实现:
long t2 = t1.longValue();
以上就是包装类型的拆箱以及装箱的原理。
包装类型缓存区的使用
对于Byte、Short、Integer、Long、Character这几种包装类型,当自动装箱的数值在[-128, 127]之间时,不会去创建对象而是从各自对应的缓存区中返回对象,例如:
- Long t1 = 128L;
- Long t2 = 128L;
- System.out.println(t1 == t2); //false,t1、t2均由new产生新的对象。
- Long t3 = 127L;
- Long t4 = 127L;
- System.out.println(t3 == t4); //true,里当然返回true了。
实现原理:因为自动装箱会使用各自包装类的valueOf(),这里只给出Long包装类型底层实现。
- public static Long valueOf(long l) {
- final int offset = 128;
- if (l >= -128 && l <= 127) { // will cache
- return LongCache.cache[(int)l + offset];
- }
- return new Long(l);
影音先锋电影 http://www.iskdy.com/
0 0
- Java中包装类的一些注意点
- java日历类和包装类的注意点
- Java中Collection与Map的一些注意点
- javaScript中优化的一些注意点
- jsp中其他的一些注意点
- 关于java编程的一些注意点
- java方法的一些设计注意点
- JAVA的一些基本注意点
- [Java]值得注意的一些语法点
- Java String.split()的一些注意点
- JAVA多线程的一些注意点
- Java一些注意的细节点通用
- 关于java包装类的一些理解
- ABAP类调用的一些注意点
- Java BigDecimal 一些注意点
- 包装类注意的地方
- java包装器类拆装箱特别注意的问题
- 关于JAVA中"+"的注意点
- MAVEN的安装详解
- Java Web开发过程中常遇的小问题
- 欢迎使用CSDN-markdown编辑器
- 计算机编程语言的学习过程推荐
- 1025. 反转链表 (25)
- Java中包装类的一些注意点
- 1026. 程序运行时间(15)
- Spring3.2.4 + Mybatis3.1.1环境搭建
- 牛顿法与拟牛顿法学习笔记(一)牛顿法
- mysql之光标cursor【整理】
- AutoCompleteTextView自动提示联系人信息
- 牛顿法与拟牛顿法学习笔记(二)拟牛顿条件
- 个人主页
- IOS开发中常用的知识点汇总