Когда безопасно использовать операторы сравнения, например. ==, >=, ‹ в Java при использовании объектов Integer, а не примитивных целых чисел?
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?
Можно ли использовать что-либо, кроме двойного равенства (так что >, ‹, >= и ‹= безопасны?), или мне следует использовать метод .compareTo()?