34-其他说明
其他说明
本节使用了Java API提供的一个接口和一个类。 Predicate
接口是一个函数式接口,它通常用lambda表达式来表示。表达式接收一个 Stream
中的元素并返回一个布尔值。如果你希望用一个类来实现这个接口,那么只需要实现 test()
方法,它接收一个泛型对象并返回一个布尔值。这个接口还定义了其他一些方法,不过它们都有默认的实现。
Optional
类用在 Stream
的结尾操作不确定能否返回一个值的时候。Java以这种方式保证了这些操作一定会返回一个值,也就是 Optional
对象,它可能有值(用 get()
方法获取到),也可能是空的。我们可以使用 isPresent()
方法检查 Optional
对象是否是空的。如果你在一个空的 Optional
对象上调用 get()
方法,则会抛出一个 NoSuchElementException
。