關於分類泛型的堆棧溢出有很多問題;不過,我有興趣以最簡單的方式對泛型進行排序:沒有任何嵌套。下面的代碼是對一個通用集合或列表進行排序的嘗試。瞭解泛型分類的基礎知識
List<E> l = new LinkedList<>(arbSet);
Collections.sort(l);
arbSet
只是一組元素:Set<E> arbSet
。
很明顯,這是有問題的 - 它不應該工作。爲了確保我知道這一點,Eclipse的讓我對我的嘗試調用下面.sort
:
約束不匹配:用的一般方法類型類別的排序(表< T>)不適用的參數(列表< E>)。推斷的類型E不是有界參數的有效替代品< T延伸可比較的<? super T >>
所以,我做了一下文檔諮詢,看看sort
的specifications。
其結果是,我試圖確保sort
知道E
延伸Comparable
:
第一行現在看起來像:
List<E extends Comparable<? super E>> l = new LinkedSet<>(arbSet);
現在,Eclipse的規定:
語法錯誤在令牌「擴展」上,預計
我錯過了什麼?我覺得這是一個非常基本的例子,我只是缺少一些「手掌面對面」的東西。爲了進一步簡化它,所有的arbSet
元素都是實現接口的元素。
哪裏類型參數'E'聲明? – Radiodef