Consumer接口(lambda表达式)

一 概述

这是一个功能接口,因此可以用作lambda表达式或方法引用的分配目标。
lambda表达式可以参考: https://www.cnblogs.com/haixiang/p/11029639.html#1265755425

 二 接口源代码

  

@FunctionalInterface
public interface Consumer<T> {

    /**
     *对给定的参数执行此操作。
     *
     * @param t the input argument
     */
    void accept(T t);

    /**
     *返回一个Consumer按顺序执行此操作和随后after操作的组合。
     **/
    default Consumer<T> andThen(Consumer<? super T> after) {
        Objects.requireNonNull(after);
        return (T t) -> { accept(t); after.accept(t); };
    }
}

三 实例

  

        
        Consumer<String> consumer1=s->{ System.out.println(s+" World."); }; 
        Consumer<String> consumer2=s->{ System.out.println(s+" Java."); };
        
        consumer1.accept("Hi");
       //先执行cosumer1的accept方法再执行consumer2的accept方法
        consumer1.andThen(consumer2).accept("Hello"); 

 执行结果:

  

Hi World.
Hello World.
Hello Java.

 

posted @ 2021-01-12 08:45  StrangerIt  阅读(647)  评论(0)    收藏  举报