以下代码无法编译,因为 Java 无法推断 getSomething 的类型参数:
class Example {
static void callIt() {
takeString(getSomething());
}
static void takeString(String s) {
}
static <T> T getSomething() {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
是否有某种方法可以指定类型参数,例如<String>getSomething()
,但不指定所调用的类的名称?即不是Example.<String>getSomething()
。
是否有某种方法可以指定类型参数,例如
<String>getSomething()
,但不指定所调用的类的名称?即不是Example.<String>getSomething()
不,那里没有。这是显式向泛型方法提供类型参数的语法。
您的代码应该在 Java 8 上编译,并具有改进的和有针对性的类型推断。