//无输入参数,返回T类型的一个结果。 new Supplier<String>() { @Override public String get() { return null; } }; Supplier<String> supplier = () -> "Test supplier"; supplier.get(); //return String | Test supplier //接受一个T类型的参数,无返回。 new Consumer<String>() { @Override public void accept(String s) { } }; Consumer<String> consumer = (x) -> { System.out.println(x); }; //Consumer<String> consumer = System.out::println; consumer.accept("Test consumer"); //void | 控制台打印 "Test consumer" //接受一个T类型的参数,返回布尔值。 new Predicate<String>() { @Override public boolean test(String s) { return false; } }; Predicate<String> predicate = x -> s.contains("predicate"); predicate.test("Test predicate"); //return boolean | true //接受一个T类型的参数,返回R类型结果。 new Function<String, Integer>() { @Override public Integer apply(String s) { return null; } }; Function<Integer,String> function = x -> "This is Integer:" + x; function.apply(100); //return String | "This is Integer:100"