java内置函数式接口怎么用

来自:互联网
时间:2023-05-04
阅读:

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
返回顶部
顶部