这种Java泛型的用法是什么意思?

Jul*_* A. 6 java generics

我想知道<T>下面的Java代码行中第一个代表什么.我已经阅读了几个关于泛型的教程,但是没有一个示例在方法名称之前有2个泛型.谢谢.

public <T> Provider<T> scope(Key<T> key, Provider<T> unscoped);
Run Code Online (Sandbox Code Playgroud)

sta*_*ica 13

第一个<T>是实际的类型参数声明,即它表示该方法是通用的并且具有类型参数T.

第二个<T>只是方法返回类型的一部分,即方法返回一个Provider<T>.

如果<T>省略第一个,则返回类型Provider<T>将无效,因为它T不是类型的可识别标识符/名称.T仅被识别为类型,因为第一个<T>引入它.

  • 不.它看起来像`public <T,T2> Provider <T>范围(Key <T> key,Provider <T> unscoped,T2 something); (3认同)