我知道Stream作为查询输出的目的和处理方式,即:
Stream<Person> findAll();
然而,最近我偶然发现了org.springframework.data.util.Streamable<T>
,与Stream
的使用方式相同:
Streamable<Person> findByNameContaining(String name, Sort sort);
< p > Streamable
的用例是什么?< /p >
我知道Stream作为查询输出的目的和处理方式,即:
Stream<Person> findAll();
然而,最近我偶然发现了org.springframework.data.util.Streamable<T>
,与Stream
的使用方式相同:
Streamable<Person> findByNameContaining(String name, Sort sort);
< p > Streamable
的用例是什么?< /p >
可流接口
函数式接口:这是一个函数式接口,因此可以用作lambda表达式或方法引用的分配目标。
java.util
中的Stream只是一个接口。
Streamable是从Spring创建的一个功能接口,扩展了Iterable<T>
Streamable还有一些默认方法和一些静态方法。但它的主要用途是能够使用lambda函数提供Iterator,并利用函数式接口的工作原理。
这只是技术信息。
就我的理解而言,它的主要用途是将Iterable<T>
转换为Stream<T>
。
Iterable<String> it = Arrays.asList("a","b","c");
Stream<String> s = Streamable.of(it).stream();
没有一种简单的方法可以直接将Iterable<T>
转换为Stream<T>
,因此他们发明了它。
您可以在这里找到大部分用法使用Spring Streamable
Stream
的方法一样用@Transactional
进行注释? - Forin