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

 函数式接口的用途(Function、Predicate、Consumer、Supplier)_第1张图片

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 输入参数类型自定义,返回值类型自定义
        Function function = new Function () {
            @Override
            public String apply(String s) {
                return null;
            }
        };
         */
        Function function = s -> s;
        System.out.println(function.apply("Function"));

        /* Predicate 输入参数类型自定义,返回值类型为Boolean
        Predicate predicate = new Predicate() {
            @Override
            public boolean test(String s) {
                return false;
            }
        };
         */
        Predicate predicate = s -> s.isEmpty();
        System.out.println(predicate.test("Predicate"));

        /* Consumer 输入参数类型自定义,返回值类型是void
        Consumer consumer = new Consumer() {
            @Override
            public void accept(String s) {

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

        /* Supplier 无参数类型,返回值类型为T(自定义)
        Supplier supplier = new Supplier() {
            @Override
            public String get() {
                return null;
            }
        };
         */
        Supplier supplier = () -> "Supplier";
        System.out.println(supplier.get());
    }

}

 

你可能感兴趣的:(JAVA面试题)