您当前的位置: 首页 >  Java

wespten

暂无认证

  • 0浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

深入学习java源码之lambda表达式与函数式接口

wespten 发布时间:2019-01-04 06:14:24 ,浏览量:0

深入学习java源码之lambda表达式与函数式接口

@FunctionalInterface JDK中的函数式接口举例 java.lang.Runnable, java.awt.event.ActionListener,  java.util.Comparator, java.util.concurrent.Callable java.util.function包下的接口,如Consumer、Predicate、Supplier等 所谓的函数式接口,当然首先是一个接口,然后就是在这个接口里面只能有一个抽象方法。 加不加@FunctionalInterface对于接口是不是函数式接口没有影响,该注解知识提醒编译器去检查该接口是否仅包含一个抽象方法 主要用在Lambda表达式和方法引用(实际上也可认为是Lambda表达式)上。 如定义了一个函数式接口如下:

   @FunctionalInterface
    interface GreetingService 
    {
        void sayMessage(String message);
    }

那么就可以使用Lambda表达式来表示该接口的一个实现(注:JAVA 8 之前一般是用匿名类实现的):

GreetingService greetService1 = message -> System.out.println("Hello " + message);	

Consumer< T>接口接受一个T类型参数,没有返回值。

package java.util.function;

import java.util.Objects;

@FunctionalInterface
public interface Consumer {


    void accept(T t);

    default Consumer andThen(Consumer            
关注
打赏
1665965058
查看更多评论
0.0455s