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優化 - mysql 一張表如果不能確保字段列長度一致,是不是就不需要用到char。2. python - scrapy 如何組合2個不同頁面的數據,一并存儲3. javascript - 新浪微博網頁版的字數限制是怎么做的4. javascript - 用jsonp抓取qq音樂總是說回調函數沒有定義5. python2.7 - python 函數或者類 代碼的執行順序6. node.js - mysql如何通過knex查詢今天和七天內的匯總數據7. sublime可以用其他編譯器替換嗎?8. 使用python中的pandas求每個值占該列的比例9. python - 多態調用方法時卻顯示bound method...10. mysql 怎么做到update只更新一行數據?
