Неправильно называть равных?

Я использовал PriorityQueue и отменил равенство 9X_jre в MyClass,

PriorityQueue pq = ...

Я хотел сделать некоторые посторонние 9X_equal объекты равными MyClass,

if (pq.contains(foreignObj)) {
   ...
}

Когда я изучал реализацию 9X_java PriorityQueue, она вызывалась так:

o.equals(queue[i])

Где «o» — это 9X_jdk ForeignObj, а «queue[i]» — экземпляр класса 9X_equals MyClass. Это вызвало серьезную проблему, потому 9X_java что я ожидал, что он будет называться равным 9X_oraclejdk MyClass, потому что я владею им, поэтому 9X_jdk я мог сделать любые типы объектов «равными» моему. И 9X_openjdk я не владею исходным кодом чужого класса 9X_j2se и не могу ничего там изменить.

Почему он 9X_java-api не был написан так, как показано ниже, поэтому 9X_equal он вызывал мои равные, а не чьи-то еще, над 9X_equals которыми я не контролирую?

queue[i].equals(o)

2
0
0
Общее количество ответов: 0