-1
我正在编写一些测试代码,发现一个奇怪的东西,并仍然困惑如何发生这种情况?整数与==的比较
Integer i1 = 220;
Integer i2 = 220;
System.out.println(i1 == i2);
打印效果与预期假。但
Integer i1 = 20;
Integer i2 = 20;
System.out.println(i1 == i2);
打印真正,但两者是不同的引用指的是不同的对象(我认为)。
第二段代码打印true?
或指http://stackoverflow.com/questions/13098143/java-integer-constant-pool –
一般的教训,虽然是:不这样做。 – biziclop
我明白,平等是为了比较,但为什么要混淆? – Batty