Я хочу реализовать двоичное дерево поиска общего типа. Заявления являются следующим:дробное дерево поиска общего типа в java
public BTNode<T> {}
public class BinaryTree<T extends Comparable<T>> {}
public class BinarySearchTree <T extends Comparable<T>> extends BinaryTree<T> {}
Теперь я написал класс с именем вход и хочу сохранить экземпляры этого класса в BinarySearchTree.
public class Entry implements Comparable{
private String firstName, lastName, address, phoneNumber;
public Entry(String fName, String lName, String address, String phoneNum) {
this.firstName = fName;
this.lastName = lName;
this.address = address;
this.phoneNumber = phoneNum;
}
public int compareTo(Object arg0) {
// TODO Auto-generated method stub
return 0;
}
}
Но когда я объявляю BinarySearchTree<Entry> bst
, всегда есть ошибка компиляции, говоря:
«Bound несоответствие: Тип вход не является действительной заменой ограниченного параметра> типа BinarySearchTree "
Я по-прежнему новичок в родовом типе Java. Может ли кто-нибудь помочь мне решить проблему? Благодаря
'>' эта строка в интерфейсе должен быть '>' –
нет,> Верно! –
kutschkem
@HunterMcMillen no it should not: 'extends' используется в generics, независимо от классов или интерфейсов. Если вы хотите сказать T, что 'extends Foo реализует Bar', то вы используете' ' –