1、Predicate是参数的布尔函数。该接口提供了许多默认函数,以组合复杂的逻辑操作(和,非)。
Predicate<String> predicate = (s) -> s.length() > 0; predicate.test("foo"); // true predicate.negate().test("foo"); // false Predicate<Boolean> nonNull = Objects::nonNull; Predicate<Boolean> isNull = Objects::isNull; Predicate<String> isEmpty = String::isEmpty; Predicate<String> isNotEmpty = isEmpty.negate();
2、Function接收参数以产生结果。默认方法可用于多种方法构成的方法链。
Function<String, Integer> toInteger = Integer::valueOf; Function<String, String> backToString = toInteger.andThen(String::valueOf); backToString.apply("123"); // "123"
3、Supplier根据给定的类属性生成对象,Supplier不支持输入参数。
Supplier<Person> personSupplier = Person::new; personSupplier.get(); // new Person
以上就是java内置函数式接口的介绍,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。