Function学习

Function

package com.decoo.test.function;

import java.util.Map;
import java.util.function.*;

public class FunctionTest {

    public static void main(String[] args) {
        // Supplier 没有输入,只有输出
        Supplier<String> supplier = () -> "supplier demo";
        System.out.println(supplier.get());

        //Consumer 只有输入, 没有输出
        Consumer<String> consumer = i -> System.out.println("consumer demo" + i);
        consumer.accept("test");

        //Function 输入T 输出R
        Function<Integer,String> function = i -> i + "---function demo";
        System.out.println(function.apply(22));

        //UnaryOperator  输入输出都相同 T
        UnaryOperator<Integer> unaryOperator = i -> i * i;
        System.out.println("unaryOperator demo" + unaryOperator.apply(3));

        //BiFunction 输入T,R 输出U
        BiFunction<String,String, Map> biFunction = (i, j) -> Map.of(i, j);
        System.out.println("biFunction demo" + biFunction.apply("name", "lisa"));

        //Predicate 输入T 输出Boolean
        Predicate<String> predicate = i -> i.isEmpty();
        System.out.println("predicate demo" + predicate.test("sss"));
    }
}
posted @ 2021-01-07 22:52  decoo  阅读(80)  评论(0)    收藏  举报