Integer中用静态内部类所作的缓存
今天在做一个题目时,发现一个奇怪的Integer方法。public class TestingString{public static void main(String[] args){ TestingString inst_test = new TestingString(); int i1 = 128; int i2 = 128; int i3 = 2; int i4 = 2; Integer Ithree = new Integer(2); // 1 Integer Ifour = new Integer(2); // 2 System.out.println( Ithree == Ifour ); inst_test.method( i3 , i4 ); inst_test.method( i1 , i2 ); } public void method( Integer i , Integer eye ) { System.out.println(i == eye ); }}result: false true falsei3 == i4 和 i1 == i2的结果竟然不同,接着又继续测试了一下,只要i的值大于127,输出结果就是false。又翻了一下K&B's book, 其中有一段话:
<div class="quote_title"> 写道
页:
[1]