Неправильно называть равных?
Я использовал 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
T
TuHHuT
0
Общее количество ответов: 0
-
11
-
18
-
6
-
3
-
10
-
6
-
12
-
17
-
3
-
6
-
10
-
6
-
9
-
28
-
21
-
8
-
5
-
11
-
6
-
3
-
4
-
5
-
6
-
6
-
5
-
13
-
5
-
2
-
4
-
4
-
4
-
3
-
5
-
15
-
6
-
7
-
9
-
4
-
6
-
2
-
3
-
3
-
3
-
4
-
7
-
3
-
7
-
4
-
5
-
6