Почему возникает ошибка «Невозможно разрешить метод «compareTo» в «Объекте», в то время как K расширяет Comparable, котоJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему возникает ошибка «Невозможно разрешить метод «compareTo» в «Объекте», в то время как K расширяет Comparable, кото

Сообщение Anonymous »

Код: Выделить всё

package bstmap;

import java.util.Iterator;
import java.util.Set;

public class BSTMap implements Map61B{
private static class Node {
private final K key;
private final V value;
private Node left;
private Node right;

private Node(K key, V value) {
this.key = key;
this.value = value;
this.left = null;
this.right = null;
}
}

private Node root;
private int size;

public BSTMap() {
root = null;
size = 0;
}

@Override
public boolean containsKey(K key) {
Node current = root;
while (current != null) {
if (current.key.equals(key)) {
return true;
}
if (current.key.compareTo(key) < 0) {
current = current.right;
} else {
current = current.left;
}
}
return false;
}
В «current.key.compareTo(key)» произошла ошибка.
Я не использую необработанный тип, поскольку указываю общие типы, используемые внутренним классом, то есть Node , но почему Java не учитывает ключ Node типа K, расширяющий интерфейс Comparable? Использование необработанного типа означает, что мы используем класс без явного указания аргументов типа для переменных универсального типа, но здесь все было указано правильно.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ile-k-exte
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»