Java 流式操作 Stream(15) 面向对象引用传参&&函数式引用传参

 Java 流式操作 Stream(15) 面向对象引用传参&&函数式引用传参

package com.lius.stream;

import java.util.function.Consumer;
import java.util.function.IntConsumer;

/**
 * <p>面向对象引用传参&&函数式引用传参</p>
 * <p>1.面向对象引用传参传递的是调用的是类以及类实例本身</p>
 * <p>2.函数式引用传参传递的是调用的是类以及类实例的函数式代码</p>
 */
public class streamTest9 {

    /**
     * 测试对象引用传参以及函数式引用传参方法
     * @param consumer
     */
    private static void testConsumer(Consumer<Integer> consumer){
        consumer.accept(1000);
    }

    public static void main(String[] args) {
        //创建Consumer以及IntConsumer函数表达式
        Consumer<Integer> consumer = i->System.out.println(i);
        IntConsumer intConsumer = i->System.out.println(i);
        //测试对象引用传参
        testConsumer(consumer);//1000  传递的是consumer对象
//        testConsumer(intConsumer);//报错 传递的是intConsumer对象
        //测试函数式引用传参
        testConsumer(consumer::accept);//1000   传递的是i->System.out.println(i)函数式代码
        testConsumer(intConsumer::accept);//1000  传递的是i->System.out.println(i)函数式代码
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章