zl程序教程

您现在的位置是:首页 >  其他

当前栏目

JAVA8函数式接口--Consumer接口

接口 函数 -- java8 Consumer
2023-09-11 14:16:24 时间

Consumer接口说明

represents an operation that accepts a single input argument and returns no result. Unlike most other functional interfaces, {@code Consumer} is expected to operate via side-effects

表示一个接受单个输入参数且不返回任何结果的操作。与大多数其他功能接口不同,Consumer接口通过副作用进行操作

此接口提供了两个方法: accept, andThen

                           

使用示例

import java.util.Arrays;
import java.util.function.Consumer;

public class ConsumerInterfaceDemo {
    public static void main(String[] args) {
        String[] arr = {"张三,男","李四,男","王五,男"};
        printInfo(arr,m->{
            String name = m.split(",")[0];
            System.out.print("name:"+name);
        },m->{
            String age = m.split(",")[1];
            System.out.println(",age:"+age);
        });
    }

    public static void printInfo(String[] arr, Consumer<String> consumer1, Consumer<String> consumer2) {
        Arrays.stream(arr).forEach(m -> consumer1.andThen(consumer2).accept(m));
    }

}

输出结果是:

name:张三,age:男
name:李四,age:男
name:王五,age:男