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. macOS Sierra 10.12 安裝mysql 5.7.1出現錯誤2. mysql - 拖拽重排序后怎么插入數據庫?3. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?4. javascript - 微信小程序 wx.downloadFile下載文件大小有限制嗎5. mysql 獲取時間函數unix_timestamp 問題?6. mysql - 僅僅只是把單引號與反斜杠轉義不用prepare statement能否避免sql注入?7. php - 生產環境下,給MySQL添加索引,修改表結構操作,如何才能讓線上業務不受影響?8. mysql主主同步,從庫不同步應該怎么解決?9. mysql在限制條件下篩選某列數據相同的值10. 新入手layuiadmin,部署到tp中。想用php自已寫一個后臺管理系統。
