我知道泛型,但我不清楚这种语法。例如,在 Collections.sort() 中:
public static <T> void sort(List<T> list, Comparator<? super T> c)
静态的意义是什么<T>
在返回类型 void 之前?
最佳答案
来自 sort
的方法签名:
public static <T> void sort(List<T> list, Comparator<? super T> c) {
这<T>
定义一个可以在方法定义中引用的任意泛型类型 T。
我们在这里所说的是该方法需要一个 List
某种类型的(我们不关心是哪种)T 和 Comparator
另一种类型,但这种类型必须是 T 的父类(super class)型。这意味着我们可以这样做:
Collections.sort(new ArrayList<String>(), new Comparator<String>());
Collections.sort(new ArrayList<Integer>(), new Comparator<Number>());
但不是这个
Collections.sort(new ArrayList<String>(), new Comparator<Integer>());
关于java - Java 集合中的静态方法需要澄清吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15007360/