Вопрос

Если у меня есть 3 объекта a , b и c , и я хочу проверить, что ни один из них не равен друг другу, Мне нужно проверить:

родовое слово

Согласно документации Java, для правильно реализованного метода equals:

<цитата>

Это транзитивно: для любых ненулевых ссылочных значений x, y и z, если x.equals (y) возвращает true, а y.equals (z) возвращает true, то x.equals (z)должен вернуть истину.

Здесь говорится, что равенство транзитивно, а как насчет неравенства ?

Это было полезно?

Решение

задан общий кодовый код:

a!= b -> верно

b!= c -> верно

a!= c -> ложь

Итак, неравенство не является транзитивным.

Другие советы

Это не транзитивно.Рассмотрите вариант сгенерированного кодового кода, сгенерированный кодовый код и кодовый кодовый код.

Неравенство никогда не бывает транзитивным (если у вас есть 2 не равных элемента, a и b).Потому что тогда у вас есть! A.equals (b) и из-за симметрии! B.equals (a), но из-за идентичности у вас есть a.equals (a).Итак, неравенство не может быть переходным.

Нет, конечно, нет.

родовое слово

но

родовое слово

Ну нет.Для транзитивности необходимо условие, истинное для любых x, y, z;но если я выберу z== x, я очень надеюсь, что

родовое слово

и у!= г

НЕ подразумевает

родовое слово

поскольку z равно x!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top