什么时候使用比较运算符比较安全,例如使用Integer对象而不是原始int时在Java中是==,> =,
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

我知道==对于引用很危险,您应该改用.equals,但是其他运算符呢?例如

int x = 7;
int y = 7;
Integer a = new Integer(7);
Integer b = new Integer(7);

System.out.println(x == y);
System.out.println(a == b);
System.out.println(a.equals(b));
System.out.println(a <= b);


版画

true
false // Why you should use .equals
true
true // Seemed dangerous but it worked?


可以使用除double equals之外的其他方法(所以>, =和

最佳答案

当变量引用null时很危险。取消装箱操作将导致NullPointerException

<=>=运算符与==不同。 They can only be applied to numerical primitive types (and values),因此引用相等性不是问题。

关于java - Java中Integer对象的比较运算符的安全性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26665118/

10-16 23:28