public static void main(String[] args) {
Long goodsId=127L;
Long itemId=127L;
//true
System.out.println(goodsId == itemId);
goodsId=128L;
itemId=128L;
//false
System.out.println(goodsId == itemId);
Long x=new Long(127);
Long y=new Long(127);
//false
System.out.println(x == y);
//true
System.out.println(x.equals(y));
}
Long是引用类型,要比较两个Long的大小,一定要用equals而不能用==
但是,当Long为常量且常量值小于一个字节时,两个Long指向同一个常量内容;
当Long为常量且常量值大于一个字节时,两个Long指向不同的常量内容。
最后总结,引用比较一定要用equals而不要用==