在 Java 中,方法签名前的 <T> 是什么意思?
In Java what does <T> before a method signature mean?
我想知道 static <T>
在这种情况下是什么意思?还是 <T> void
?
我知道 static 和 void 都是什么意思,但我不确定 <T>
在这里是什么意思
static <T> void sort(List<T> list, Comparator<? super T> c)
<T>
表示在此声明中使用了通用 T
。这有两个影响;
- 第一个参数的第一种类型中的
T
必须与第二个参数中的类型匹配。 (而? super T
意味着它必须是T
的超级class或接口)如果不使用泛型,就没有办法做到这一点。
- 可以使用
Collections.<Integer>sort(list, myComparator);
之类的语句显式指定类型
我想知道 static <T>
在这种情况下是什么意思?还是 <T> void
?
我知道 static 和 void 都是什么意思,但我不确定 <T>
在这里是什么意思
static <T> void sort(List<T> list, Comparator<? super T> c)
<T>
表示在此声明中使用了通用 T
。这有两个影响;
- 第一个参数的第一种类型中的
T
必须与第二个参数中的类型匹配。 (而? super T
意味着它必须是T
的超级class或接口)如果不使用泛型,就没有办法做到这一点。 - 可以使用
Collections.<Integer>sort(list, myComparator);
之类的语句显式指定类型