位于java.util.function
的函数式接口,单个使用方法都大同小异,难的是将多个混合使用。
Supplier只有输出
Supplier<String> stringSupplier = () -> "supplier输出String";
System.out.println(stringSupplier.get());
Consumer只有输入
Consumer<String> stringConsumer = (a) -> {
System.out.println("consumer输入String的a:" + a);
};
stringConsumer.accept("齐天大圣");
Function输入T 输出R
Function<Integer, String> integerStringFunction = (int1) -> int1 + "520";
System.out.println("function输入Integer输出String:" + integerStringFunction.apply(100));
BiFunction 输入T,U 返回R
BiFunction<Integer, Integer, String> integerIntegerStringBiFunction
= (a, b) -> (a + b) + "牛逼";
System.out.println(integerIntegerStringBiFunction.apply(10, 11));
Predicate 输入T返回 boolean
Predicate<String> stringPredicate = (a) -> "superman".equalsIgnoreCase(a);
System.out.println("predicate判断:" + stringPredicate.test("superMAN"));