public static <T> Supplier<T> unchecked(Callable<T> f) {
return () -> {
try {
return f.call();
} catch (Exception e) {
throw new RuntimeException(e);
} catch (Throwable t) {
throw t;
}
};
}
Supplier<T>
是我推断的返回类型
但是在那之前<T>
怎么办
<T>
是您为函数定义的通用类型。省略它会导致语法错误。任何时候你为一个函数或类使用泛型类型,你必须以这种方式定义它才能有效。
例如,在类中,您可以这样定义它:
public class Example<T>
然后在函数中正常使用它,例如:
public T exampleMethod() {}
但是如果泛型类型只用于一个特定的函数而不是整个类,那么你必须按照你的问题的方式为每个使用泛型的方法定义它。
我假设你只是在询问语法并且知道泛型是什么,但你可以阅读更多关于它们的信息here.