【问题标题】:In Java what does <T> before a method signature mean? [duplicate]在 Java 中,方法签名之前的 <T> 是什么意思? [复制]
【发布时间】:2015-04-15 17:05:44
【问题描述】:

我想知道static &lt;T&gt; 在这种情况下是什么意思?还是&lt;T&gt; void

我知道 static 和 void 都是什么意思,但我不确定&lt;T&gt; 在这里是什么意思

 static <T> void sort(List<T> list, Comparator<? super T> c)

【问题讨论】:

标签: java static void


【解决方案1】:

&lt;T&gt; 表示此声明中使用了通用T。这有两个影响;

  • 第一个参数的第一个类型中的T 必须与第二个参数中的类型匹配。 (而? super T 表示它必须是T 的超类或接口)如果不使用泛型,就没有办法做到这一点。
  • 可以使用Collections.&lt;Integer&gt;sort(list, myComparator); 之类的语句显式指定类型

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 2012-08-13
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    相关资源
    最近更新 更多