看一个程序:
输出的是:
为什么1000和100不同?
原因是:Integer类型,默认-128~127使用缓存数据,在默认的范围内使用的是同一对象,所以相等,否则不等。这就是1000和100的不同的原因了。
import java.lang.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
为什么1000和100不同?
原因是:Integer类型,默认-128~127使用缓存数据,在默认的范围内使用的是同一对象,所以相等,否则不等。这就是1000和100的不同的原因了。