Integer a = 127; // 将整形127装箱对象Integer b = 127; // 同上 System.out.print( a==b ); // trueSystem.out.print(a.equals(b)); // trueInteger a = 127 实际为...
分类:
编程语言 时间:
2015-09-06 21:23:29
阅读次数:
155
1. 装箱 装箱:基本类型-->引用数据类型 int num = 20;
Integer number = num; // 自动装箱 ? ? 上面最后一条语句相当于:Integer number = new Integer(num); 但是问题来了。 Double d1=1.0;
Double d2=new D...
分类:
其他好文 时间:
2015-09-05 19:32:39
阅读次数:
203
自动装箱(boxing)和自动拆箱(unboxing)首先了解下Java的四类八种基本数据类型基本类型占用空间(Byte)表示范围包装器类型boolean1/8true|falseBooleanchar2-128~127Characterbyte1-128~127Byteshort2-2?15~2?...
分类:
编程语言 时间:
2015-09-05 19:08:15
阅读次数:
201
话题一:valueOf()与xxxValue()我们知道JAVA存在自动装箱和拆箱的功能,这个过程是JAVA直接帮助我们做了,很多时候是悄悄的,而且是无处不在的。比如直接将基本数值赋值给包装类型的变量,比如在集合中我们放入的都必须是对象。而这个过程都是调用了什么方法来实现的呢?让我们..
分类:
编程语言 时间:
2015-08-30 17:49:13
阅读次数:
780
这里假设你对Java的基本类型和对应的包装器之间自动拆箱和装箱已经有所了解。但是这里强调一点,自动的拆箱和装箱是编译器在生成类的字节码时插入适当的方法调用来实现的。也就是说,我们可以反编译class文件,看看编译器插入了什么适当的方法来实现自动装箱和拆箱的。来看一个例子:
public class Test {
public static void main(String[] args) {...
分类:
编程语言 时间:
2015-08-30 15:59:06
阅读次数:
151
自动装箱(boxing)和自动拆箱(unboxing)首先了解下Java的四类八种基本数据类型基本类型占用空间(Byte)表示范围包装器类型boolean1true|falseBooleanchar2-128~127Characterbyte1-128~127Byteshort2-2?15~2?15...
分类:
编程语言 时间:
2015-08-30 12:52:35
阅读次数:
236
java 自动装箱自动拆箱(以Integer类为例子)
分类:
编程语言 时间:
2015-08-30 08:44:15
阅读次数:
162
在J2SE5.0后推出了自动装箱和拆箱的功能,以提高我们的开发效率,然而自动装箱和拆箱实际上是通过编译器来支持的(并非语言本身,或者说虚拟机),因而这种支持也隐藏了部分内部实质,再加上某些类的优化(比如Integer里面的缓存等,参看关于缓存节),就更加容易在特定的环境下产生问题,并且如果不知道原来还无法调试。以下先是简单的介绍了编译器对装箱和拆箱的实现,并根据实现简单介绍一下可能会遇到的几个问题...
分类:
编程语言 时间:
2015-08-29 21:47:34
阅读次数:
181
很多东西你用着很顺手,但是稍一分析其实是“语法错误”的。比如: Integer i = 1; 这句话明显是类型不匹配的,为什么就没有报错呢?
分类:
编程语言 时间:
2015-08-29 16:58:05
阅读次数:
156
Java从JDK1.5开始支持枚举,也就是说,Java一开始是不支持枚举的,就像泛型一样,都是JDK1.5才加入的新特性。通常一个特性如果在一开始没有提供,在语言发展后期才添加,会遇到一个问题,就是向后兼容性的问题。像Java在1.5中引入的很多特性,为了向后兼容,编译器会帮我们写的源代码做很多事情,比如泛型为什么会擦除类型,为什么会生成桥接方法,foreach迭代,自动装箱/拆箱等,这有个术语叫...
分类:
编程语言 时间:
2015-08-29 15:26:11
阅读次数:
249