java.util.function.Consumer是一个功能接口,其功能方法(单个抽象方法)是accept (T t)Consumer接口表示采用单个参数T并且不返回任何结果的操作。

示例#1

以下示例显示如何使用带有lambda表达式的Consumer接口的accept()方法。

文件:ConsumerExample1.java -

package com.yiibai.tutorial.lambda;

import java.util.function.Consumer;

/**
 * @author yiibai
 */
public class ConsumerExample1 {
    public static void main(String[] args) {

        Consumer<String> consumerStr=s->{
            System.out.println(s);
        };
        consumerStr.accept("Hello Java.");
        consumerStr.accept("Hello World.");

        Consumer<Integer> consumerInt=i->{
            System.out.println("Integer value="+i);
        };
        consumerInt.accept(5);
        consumerInt.accept(8);
    }
}

执行上面代码,得到以下结果:

Hello Java.
Hello World.
Integer value=5
Integer value=8

例#2

以下示例显示如何使用带有lambda表达式的Consumer接口的默认方法andThen()
文件:ConsumerExample2.java -

package com.yiibai.tutorial.lambda;

import java.util.function.Consumer;

/**
 * @author yiibai
 */
public class ConsumerExample2 {
    public static void main(String[] args) {

        Consumer<String> consumer1=s->{
            System.out.println(s+" World.");
        };
        Consumer<String> consumer2=s->{
            System.out.println(s+" Java.");
        };

        //Using andThen method
        consumer1.andThen(consumer2).accept("Hello");
    }
}

执行上面代码,得到以下结果:

Hello World.
Hello Java.