Я ищу, чтобы понять это кажущееся несоответствие:Почему Comparator.compare принимает два аргумента?
Comparator.compare принимает два объекта в качестве входных аргументов и сравнивает их, ничего не делая с или this
. Почему он не может быть статическим методом?
Comparator.equals принимает один другой объект в качестве входного аргумента и сравнивает его с this
.
Почему существует парадигма дизайна? Почему не compare
просто попросить один аргумент объекта и сравнить его с этим?
Поскольку интерфейсы не работают с 'методами static'. Вы не можете вводить «Comparator» с помощью метода 'static'' compare'. –
, который отвечает только на вопрос во втором абзаце. существует более крупный вопрос, обертывающий вокруг него. – amphibient
. Comparator.equals используется для проверки того, равен ли этот компаратор (в котором вы определяете метод equals) любой другой объект-компаратор – Arjit