例如,我看到了
static< T extends Comparable<?超级T>> void parallelSort(T [] a)
将指定的对象数组排序 升序,根据其元素的自然顺序。
所以我得到这是一个静态方法及其作用,但是<T extends Comparable<? super T>>
是什么意思(返回类型,但它是什么,它是否与我在代码中编写的方式相同,或者使用的语法在文档中显示几个可能的值)
答案 0 :(得分:0)
<T extends Comparable<? super T>>
不返回类型。 void
是返回类型。返回类型之前的通用规范是类型推断。
参数(T[]
)类型是从调用中推断出来的,必须是extends Comparable<? super T>
假设您定义了一个类:
class Foo extends Comparable<Foo> { ... }
这意味着:
Foo[] fooArray = ...
parallelSort(fooArray);
是合法的,在parallelSort()
方法中,T
的类型为Foo
(实现Comparable
接口)
这是一个没有递归类型的简单,不太复杂的例子。在这种情况下,它表示它返回推断类型的列表:
public static <T> <List<T>> myMethod(T arg) {
List<T> list = new ArrayList<T>();
list.add(arg);
return list;
}
从参数中推断出类型:
List<String> list = myMethod("hi");