Java泛型問題:類“不在類型變量的范圍內”錯誤。
在MySearchTree的K基本類型為Course。因此K必須“擴展” Comparable<Keyable<Course>> &Keyable<Course>。但是,它沒有擴展Comparable<Keyable<DataElement>> &Keyable<DataElement>。
我猜 應該以類似的方式對泛型 或 。
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> {解決方法
我正在為一個涉及泛型的類項目。
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;... }}
當嘗試在MySearchTree的聲明中使用Course類時,我收到一個類型自變量錯誤,指出“課程不在類型變量K的范圍內”。我花了很多時間試圖弄清楚Course可能缺少哪些屬性,以使其不符合要求,但卻空洞了。
有任何想法嗎?
相關文章:
1. mysql - 這條聯合sql語句哪里錯了2. webpack - vuejs+java前后臺分離實現及部署問題3. docker容器呢SSH為什么連不通呢?4. docker鏡像push報錯5. docker start -a dockername 老是卡住,什么情況?6. docker網絡端口映射,沒有方便點的操作方法么?7. mysqldb - MAC OS安裝MySQL-python總是失敗,請幫忙看看什么原因?8. javascript - ios 軟鍵盤彈出header被頂上去 定位失效 求大神解決9. javascript語法錯誤10. javascript - JS繼承,如何避免父類原型的object類型屬性會受子類影響的情況;
