【问题标题】:Standard interface for no argument function无参数函数的标准接口
【发布时间】:2015-08-04 10:26:40
【问题描述】:

Java 6(或任何兼容的库)标准接口中是否有无参数函数和通用返回类型。

类似:

interface Foo<T> {
      T call();
}

【问题讨论】:

    标签: java shared-libraries java-6


    【解决方案1】:

    这是一个Supplier&lt;T&gt; - 它不需要任何东西,并提供T。而且它定义的abstract 方法很适合被称为get()

    interface Supplier<T> {
       T get();
    }
    

    请注意,在 Java8 中,这个 (@FunctionalInterface) 已经存在(称为 Supplier),因此如果您在 Java8 下运行代码,则无需定义自定义接口。

    另外,如果你在 Java8 之前的某个版本下运行你的代码,那么你可以使用 Guava 的Supplier 接口。

    【讨论】:

    • 你能发送该接口的完整限定名(带包)吗?
    • 至少它不是 Java 6 的一部分,正如问题中所要求的那样。
    • 太好了,我刚刚发现 com.google.common.base.Supplier 接口在 Guava 中可用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多