【发布时间】:2015-04-15 17:05:44
【问题描述】:
我想知道static <T> 在这种情况下是什么意思?还是<T> void?
我知道 static 和 void 都是什么意思,但我不确定<T> 在这里是什么意思
static <T> void sort(List<T> list, Comparator<? super T> c)
【问题讨论】:
-
是通用方法docs.oracle.com/javase/tutorial/extra/generics/methods.html。简而言之,
T表示将根据您将传递给方法的参数推断出的类型,它允许您传递List<String>或List<Integer>或其他。 -
好的,那么 是什么意思?我以为 super 是用来在调用当前类之前调用父类的构造函数的?
-
你应该先阅读关于泛型的教程docs.oracle.com/javase/tutorial/extra/generics/index.html。这一切都在那里解释。如果您对教程的某些部分有疑问,请提出问题并解释让您感到困惑的地方。
-
@Aceboy1993
super在不同的语境中有很多含义。这是? super T可以分配T的任何类型。例如Number n = new Integer(1);T是Integer和? super T在这种情况下是Number