Если у меня есть 3 объекта a , b и c , и я хочу проверить, что ни один из них не равен друг другу, мне нужно проверить:
if (!a.equals(b) && !b.equals(c) && !a.equals(c)) { // to simplify, assume non-null
// do something
}
Согласно документам Java, для правильно реализованного метода equals:
Это транзитивно: для любых ненулевых ссылочных значений x, y и z, если x.equals (y) возвращает true, а y.equals (z) возвращает true, тогда x.equals (z) должен вернуть true.
Это говорит о том, что равенство транзитивно, , но как насчет неравенства ?