用于在方法调用中显式指定泛型参数的Java语法

Han*_*örr 55 java generics

显式为通用Java方法提供类型参数的语法是什么?

Han*_*örr 61

根据Java规范,例如:

Collections.<String>unmodifiableSet()
Run Code Online (Sandbox Code Playgroud)

(对不起要问和回答我自己的问题 - 我只是第三次看这个.:-)

  • 据我所知,回答你自己的问题是完全可以接受的,只要它不是重复的(即不要以这种方式去搜索). (5认同)

The*_*ell 39

以下不是语法

<ArgType>genericMethod()
Run Code Online (Sandbox Code Playgroud)

似乎类型参数必须在点之后出现

SomeClass.<ArgType>genericMethod()
this.<ArgType>genericMethod()
p.<ArgType>genericMethod()
super.<ArgType>genericMethod()
SomeClass.super.<ArgType>genericMethod()
SomeClass.this.<ArgType>genericMethod()
Run Code Online (Sandbox Code Playgroud)

  • 这对“导入静态”方法有何作用?它没有附加到类或`this`,并且正如您所说的,列出的第一个语法不起作用。 (7认同)
  • @Coderer 静态方法必须在某个类中,因此您可以使用`SomeClass.&lt;ArgType&gt;genericMethod()`。如果您没有导入该类,则使用该类的 FQN。我相信你知道这一点,并希望得到一个更令人满意的答案。我个人不明白为什么不能将 `&lt;ArgType&gt;genericMethod()` 语法添加到语言中;它会造成歧义吗? (4认同)
  • 这称为*类型见证*。 (2认同)