Проблема с дженериками Java: ошибка класса «выходит за пределы переменной типа».

Я работаю над проектом для класса, который включает дженерики.

public interface Keyable <T> {public String getKey();}

public interface DataElement extends Comparable<Keyable<DataElement>>, Keyable<DataElement>, Serializable {...}
public class Course implements DataElement {...}


public interface SearchTree<K extends Comparable<Keyable<K>> & Keyable<K>> extends Serializable {...}
public class MySearchTree implements SearchTree<Course> {
...
    private class Node {
        public Course data;
        public Node left;
        public Node right;
        ...
    }
}

При попытке использовать класс Course в объявлении MySearchTree я получаю сообщение об ошибке аргумента типа, указывающее, что «Course находится вне границ переменной типа K». Я потратил много времени, пытаясь выяснить, каких атрибутов может не хватать Курсу, чтобы он не отвечал всем требованиям, но ничего не вышло.

Есть идеи?

9
задан SamWN 1 April 2012 в 21:57
поделиться