学习任务:

视频学习

Consumer介绍

测试Consumer

查看Consumer接口的源代码,如下:

package java.util.function;

import java.util.Objects;
@FunctionalInterface
public interface Consumer<T> {

	void accept(T t);
	
    default Consumer<T> andThen(Consumer<? super T> after) {
        Objects.requireNonNull(after);
        return (T t) -> { accept(t); after.accept(t); };
    }
}

Consumer的抽象方法void accept(T t)只接收一个参数,没有返回值。Consumer接口是一个消费接口,接收一个数据进行消费。

有一个整数数列,下边使用Consumer接口进行消费,测试代码如下:

package com.pbteach.javase.oop.lambda.test2;

import java.util.function.Consumer;

/**
 * 测试Consumer接口
 * @author 攀博课堂(www.pbteach.com)
 * @version 1.0
 **/
public class TestConsumer {

    static int[] datas = {1,2,3,4,5,6,7};
    static int sum = 0;
    public static void main(String[] args) {
        //消费方式是输出数据
        Consumer<Integer> fun1 = n -> System.out.println(n);
        //判断奇偶
        Consumer<Integer> fun2 = n -> {
            if(n % 2 ==0){
                System.out.println(n + "是偶数");
            }else{
                System.out.println(n + "是奇数");
            }
        };
        //求累加和
        Consumer<Integer> fun3 = n -> sum+=n;

        consumer(fun1,datas);
        consumer(fun2,datas);
        consumer(fun3,datas);
        System.out.println("sum="+sum);

    }

    public static void consumer(Consumer<Integer> fun,int[] datas){
        for (int i = 0; i < datas.length; i++) {
            fun.accept(datas[i]);
        }
    }
}

输出:

1
2
3
4
5
6
7
1是奇数
2是偶数
3是奇数
4是偶数
5是奇数
6是偶数
7是奇数
sum=28
提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题