lambda系列——几种函数接口

几种函数接口

package org.java8.lambda;

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

import lombok.extern.slf4j.Slf4j;

/*Predicate T boolean 这张唱片已经发行了吗
Consumer T void 输出一个值
Function T R 获得Artist对象的名字
Supplier None T 工厂方法
UnaryOperator T T 逻辑非  (!)
BinaryOperator (T, T) T 求两个数的乘积  (*)*/

@Slf4j
public class FunctionInterface {

    public static void main(String[] args) {
        log.info("Predicate boolean : {}", getPredicate().test(1>2));
        consumer().accept("haha");
        log.info("supplier: {}",supplier().get());
    }

    private static Consumer consumer() {
        return new Consumer() {

            @Override
            public void accept(String t) {
                log.info("accept value: {}", t);
            }
        };
    }

    public static Supplier supplier() {
        return new Supplier() {
            @Override
            public String get() {
                return UUID.randomUUID().toString();
            }
        };
    }
    public static Predicate getPredicate() {
        return new Predicate() {
            
            @Override
            public boolean test(Boolean t) {
                return t;
            }
        };
    }
}

你可能感兴趣的:(lambda系列——几种函数接口)