Integer缓存策略
这篇文章其实是讲Java和Python的,其他的语言并不知道。
在Java里你可能会遇到这样一个问题:
public class JavaIntegerCache {
public static void main(String... strings) {
Integer integer1 = 3;
Integer integer2 = 3;
if (integer1 == integer2)
System.out.println("integer1 == integer2");
else
System.out.println("integer1 != integer2");
Integer integer3 = 300;
Integer integer4 = 300;
if (integer3 == integer4)
System.out.println("integer3 == integer4");
else
System.out.println("integer3 != integer4");
}
}
那么问题来了,答案是什么,首先,我们应该比较的是地址,这是引用类型,那么应该两个都不等吗?
运行结果是:
integer1 == integer2
integer3 != integer4