关于分类泛型的堆栈溢出有很多问题;不过,我有兴趣以最简单的方式对泛型进行排序:没有任何嵌套。下面的代码是对一个通用集合或列表进行排序的尝试。了解泛型分类的基础知识
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