Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

12.8. Supplier / Consumer / Predicate 应用场景

Supplier 没有入参,但是有返回值,通过 get() 获得。

Consumer 有入参,但是没有返回值,通过 andThen() 可以获得返回叔叔。

		
package cn.netkiller.test;

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

public class Test {
    public static void main(String[] args) {
        System.out.println(Thread.currentThread());
        Supplier<String> supplier = () -> "hello, world";
        String result = supplier.get();
        System.out.println("Supplier: " + result);

        Consumer<String> consumer = (s) -> System.out.println(s);
//        consumer.accept("Hello, Neo!");

        Consumer<String> then = consumer.andThen(value -> {
            System.out.println("Consumer: " + value);
        });
        consumer.accept("Hello, Neo!");
        then.accept("Hello, Netkiller!");


        Predicate<Integer> predicate = i -> i > 5;
        System.out.println(predicate.test(1));
        System.out.println(predicate.test(10));

        Predicate<String> string = s -> !s.isEmpty();
        string.or(s -> s.equals("neo"));
        System.out.println(string.test(""));
        System.out.println(string.test("neo"));

    }

}