常用的函數式接口Consumer接口方法accept


package com.chunzhi.Test05Consumer;

import java.util.function.Consumer;

/*
    java.util.function.Consumer<T>接口正好與Supplier接口相反
        它不是生產一個數據,而是消費一個數據,其數據類型由泛型決定
    Consumer接口中包含抽象方法void accept(T t),意為消費一個指定泛型的數據。

    Consumer接口是一個消費型接口,泛型指定什么類型,就可以使用accept方法消費什么類型的數據
    至於具體怎么消費(使用),需要自定義
 */
public class Test01Consumer {
    /*
        定義一個方法
        方法的參數傳遞一個字符串的姓名
        方法的參數傳遞Consumer接口,泛型使用String
        可以使用Consumer接口,消費字符串的姓名
     */
    public static void method(String name, Consumer<String> con) {
        con.accept(name);
    }

    public static void main(String[] args) {
        // 調用method方法,傳遞字符串姓名,方法的另一個參數是Consumer接口,是一個函數式接口,所以可以傳遞Lambda表達式
        method("八級大狂風", (String name) -> {
            // 對傳遞的字符串進行消費
            // 消費方式:直接輸出字符串
            System.out.println(name);

            // 消費方式:把字符串反轉輸出
            String reName = new StringBuffer(name).reverse().toString();
            System.out.println(reName);
        });
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM