使用时Collections.sort(List<T> list),with List<Employee>,where Employee是不扩展Comparable接口的类.
然后我看到以下编译错误
sort(List<T>)类型中的方法Collections不适用于arguments(List<Employee>).
我不明白为什么T要实现Comparable,它没有在方法的方法参数中的任何地方指定sort.
更新:请停止downvoting.我一直认为只有方法参数决定要作为参数传递什么,但我<T extends Comparable<? super T>>在方法签名中看到但它不是我在任何方法签名中看到的.访问修饰符,静态与否,返回类型,方法名称都是我所知道的,但是多余的是什么?
更新:我没有意识到这一点:"所有泛型方法声明都有一个类型参数部分,由尖括号(<和>)分隔,位于方法的返回类型之前"
这是完整的签名:
public static <T extends Comparable<? super T>> void sort(List<T> list)
Run Code Online (Sandbox Code Playgroud)
你可以看到T必须实现,Comparable否则将sort()如何排序List<T>