| 知乎专栏 |
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"));
}
}