解释“public static <T> Supplier<T>”在功能接口包装器中的含义[重复]

问题描述 投票:0回答:1
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>
怎么办

java lambda wrapper functional-interface
1个回答
1
投票

<T>
是您为函数定义的通用类型。省略它会导致语法错误。任何时候你为一个函数或类使用泛型类型,你必须以这种方式定义它才能有效。

例如,在类中,您可以这样定义它:

public class Example<T>
然后在函数中正常使用它,例如:

public T exampleMethod() {}

但是如果泛型类型只用于一个特定的函数而不是整个类,那么你必须按照你的问题的方式为每个使用泛型的方法定义它。

我假设你只是在询问语法并且知道泛型是什么,但你可以阅读更多关于它们的信息here.

© www.soinside.com 2019 - 2024. All rights reserved.