java Integer类的缓存

public class Hello
{
public static void main(String[] args)
{
int a = 1000, b = 1000;
System.out.println(a == b);

Integer c = 1000, d = 1000;
System.out.println(c == d);

Integer e = 100, f = 100;
System.out.println(e == f);
}
}

 

输出结果:

true
false
true

The Java Language Specification, 3rd Edition 写道:

为了节省内存,对于下列包装对象的两个实例,当它们的基本值相同时,他们总是==:
Boolean
Byte
Character, \u0000 - \u007f(7f是十进制的127)
Integer, -128 — 127

 

 

当超出这个范围时,指向的地址就变了。

posted @ 2015-12-28 17:08  rick_i  阅读(140)  评论(0)    收藏  举报