您需要两个可比较,具有相同值但代表不同实例的变量,例如:
Integer x = new Integer(0);Integer y = new Integer(0);
x <= y和
y <= x都为true,因为
Integer取消了装箱,但是实例相等性
x == y为false。
请注意,它也可以与一起使用
Float,
Long并且
Double任何值(不仅是0)都可以使用。
您还可以使用JVM的复杂性-它们通常仅缓存最多127个整数,因此也可以使用:
Integer x = 128;Integer y = 128;
(但是127不会)。
或更简单地说,由于
Doubles通常根本不会被缓存:
Double x = 0d;Double y = 0d;



