因为Long与Ineger都是包装类型,是对象。 而不是普通类型long与int , 所以它们在比较时必须都应该用equals,或者先使用longValue()或intValue()方法来得到他们的基本类型的值然后使用==比较也是可以的。
但是有一种特殊情况, 其实Long与Integer都将 -128~127 这些对象缓存了,可以直接==。
1、int -128~127 integer
integer a = 1000;
integer b = 1000;
a == b 为 false ;
只能比较 a.intValue() == b.intValue() 为 true ,但是 a > b a<=b 是可以比较的
2 、long Long
Long a = 1000;
Long b = 1000;
a == b 为 false ;
只能比较 a.longValue() == b.longValue() 为 true ,但是 a > b a<=b 是可以比较的