Sam*_*mWN 9 java generics binary-tree binary-search-tree
我正在研究一个涉及泛型的课程.
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;
...
}
}
Run Code Online (Sandbox Code Playgroud)
当尝试在MySearchTree的声明中使用Course类时,我收到一个类型参数错误,指出"Course不在类型变量K的范围内".我花了很多时间试图弄清楚课程可能缺少什么属性使它不适合账单,但是空洞.
有任何想法吗?
Tom*_*ine 11
在MySearchTree该K基本类型的是Course.所以K必须"延伸" Comparable<Keyable<Course>> & Keyable<Course>.但事实并非延伸Comparable<Keyable<DataElement>> & Keyable<DataElement>.
我想DataElement应该以类似的方式对泛型Comparable或Enum.
public interface Keyable <T> {public String getKey();}
public interface DataElement<THIS extends DataElement<THIS>> extends Comparable<Keyable<THIS>>, Keyable<THIS>, Serializable {...}
public class Course implements DataElement<Course> {...}
public interface SearchTree<K extends Comparable<Keyable<K>> & Keyable<K>> extends Serializable {...}
public class MySearchTree implements SearchTree<Course> {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10837 次 |
| 最近记录: |