2019年/01月/30日
用一段代码来烧烧你的脑子
Java整数缓存池,根据墨菲定律,你一定会在生产系统发生事故
即便现在你知道结果,保不齐哪天又掉坑里,这不是智商的问题,绝对是语言的问题,语言本身带来的认知问题
public class TestLong {
// -128 to 127
public static void main(String[] args) {
Long v = 128L;
System.out.println(v == 128L);//true
System.out.println(v.equals(128L));//true
System.out.println(v.equals(128));//false
System.out.println(v == new Long(128L));//false
System.out.println(v == Long.valueOf(128L));//false
System.out.println(new Long(128L) == new Long(128L));//false
System.out.println(127L == new Long(127L));//true
System.out.println(new Long(127L) == new Long(127L));//false
System.out.println(new Long(127L) == Long.valueOf(127L));//false
Long v2 = 127L;
System.out.println(v2 == Long.valueOf(127L)); //true
}
}