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)函數式代碼
    }
}

 

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