1、Predicate是布尔型函数,只有一个输入参数。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接口产生给定类型的结果。不像Function,Supplier没有输入参数。
Supplier<Person> personSupplier = Person::new; personSupplier.get(); // new Person
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)