codingWang / Issue

private space .Do NOT look at it.
3 stars 0 forks source link

basic-java8-03-functional-interface #6

Open codingWang opened 7 years ago

codingWang commented 7 years ago

java 8 Functional Interface

lambda如何适应java类型系统呢?每一个lambda对应一个用接口区分的给定类型。 所谓的功能性接口必须包含一个抽象方法的声明。这种类型的lambda表达式将匹配这个抽象方法。 因为default类型的方法不是抽象的,所以你可以自由的往功能性接口中添加default方法。

只要一个接口只包含一个抽象方法,那它就可以被用作lambda。 为了确保你的接口符合要求,你需要给接口加上@FunctionalInterface注解。 当你试图在接口中添加第二个抽象方法时编译器就会报错。 比如:

    @FunctionalInterface
    interface Converter<F, T> {
        T convert(F from);
    }
    Converter<String, Integer> converter = (from) -> Integer.valueOf(from);
    Integer converted = converter.convert("123");
    System.out.println(converted);

FunctionalInterface是可以省略的!

Belolme commented 7 years ago

这种形式的博客搜索引擎很难检索[万能哭笑君]

machenshuang commented 7 years ago

怪不得看到你原来的博客很少更新内容了

codingWang commented 7 years ago

笔记而已,自己忘了看看,不用被搜索引擎收录(^o^)/~