这是来自 :: (double colon) operator in Java 8 的后续问题其中 Java 允许您使用 ::
运算符引用方法。
是否可以提供一些我创建的自定义功能接口(interface)并将其与 ::
运算符一起使用?以及如何去做?
最佳答案
“是否可以提供一些我创建的自定义功能接口(interface)并将其与 ::
运算符一起使用?以及如何去做?”
这是可能的,而且就像您想象的那样简单:只需使用一种方法创建一个接口(interface)。您甚至不需要 @FunctionalInterface
注释;此注释仅记录您的意图,并有助于在编译时检测错误,类似于 @Override
。
所以也许您已经在 Java 8 之前的项目中创建了这样的接口(interface)......
class Foo {
// nothing new:
public interface FooFactory {
Foo createFoo();
}
// new in Java 8:
public static final FooFactory DEFAULT_FACTORY = Foo::new;
}
关于java - Java 8 中函数式接口(interface)的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20047713/