好文档 - 专业文书写作范文服务资料分享网站

Java 8函数式接口functional interface的秘密

天下 分享 时间: 加入收藏 我要投稿 点赞

重庆达渝仁科技官网:www.cqdyr.com 4 5 6 7 8 9 10 11 } }

interface I { void foo(); }

interface J { void foo(); }

上述代码Eclipse不会报错但是javac无法编译,javac认为 (I & J)不是一个函数式接口。 看起来javac工作正常, Eclipse处理这样的case还有问题。

@FunctionalInterface

Java 不会强制要求你使用@FunctionalInterface注解来标记你的接口是函数式接口, 然而,作为API作者, 你可能倾向使用@FunctionalInterface指明特定的接口为函数式接口, 这只是一个设计上的考虑, 可以让用户很明显的知道一个接口是函数式接口。

1 2 3 4 @FunctionalInterface

public interface SimpleFuncInterface { public void doWork(); }

如果你在一个不是函数式的接口使用@FunctionalInterface标记的话,会出现什么情况?编译时出错。

1 error: Unexpected @FunctionalInterface annotation 2 @FunctionalInterface 3 ^

4 I is not a functional interface

5 multiple non-overriding abstract methods found in interface I

Java 8函数式接口functional interface的秘密

重庆达渝仁科技官网:www.cqdyr.com4567891011}}interfaceI{voidfoo();}interfaceJ{voidfoo();}上述代码Eclipse不会报错但是javac无法编译,javac认为(I&J)不是一个
推荐度:
点击下载文档文档为doc格式
9ih8i4tuxm35m4y30uzt
领取福利

微信扫码领取福利

微信扫码分享