函數式接口的用途(Function、Predicate、Consumer、Supplier)

 

package main.test;

import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;

/**
 * @Auther: wdq
 * @Date: 2020/4/21 16:18
 * @Description:
 */
public class FunctionInterfaceDemo {
    public static void main(String[] args) {
        /* Function<T,R> 輸入參數類型自定義,返回值類型自定義
        Function<String,String> function = new Function<String, String> () {
            @Override
            public String apply(String s) {
                return null;
            }
        };
         */
        Function<String,String> function = s -> s;
        System.out.println(function.apply("Function"));

        /* Predicate<T> 輸入參數類型自定義,返回值類型爲Boolean
        Predicate<String> predicate = new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return false;
            }
        };
         */
        Predicate<String> predicate = s -> s.isEmpty();
        System.out.println(predicate.test("Predicate"));

        /* Consumer<T> 輸入參數類型自定義,返回值類型是void
        Consumer<String> consumer = new Consumer<String>() {
            @Override
            public void accept(String s) {

            }
        };
         */
        Consumer<String> consumer = s -> System.out.println(s);
        consumer.accept("Consumer");

        /* Supplier<T> 無參數類型,返回值類型爲T(自定義)
        Supplier<String> supplier = new Supplier<String>() {
            @Override
            public String get() {
                return null;
            }
        };
         */
        Supplier<String> supplier = () -> "Supplier";
        System.out.println(supplier.get());
    }

}

 

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