Spring Data Streamable与Stream的区别

4

我知道Stream作为查询输出的目的和处理方式,即:

Stream<Person> findAll();

然而,最近我偶然发现了org.springframework.data.util.Streamable<T>,与Stream的使用方式相同:

Streamable<Person> findByNameContaining(String name, Sort sort);
< p > Streamable 的用例是什么?< /p >
1个回答

5

可流接口

函数式接口:这是一个函数式接口,因此可以用作lambda表达式或方法引用的分配目标。

Spring文档

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


2
谢谢!关于处理,它是否需要像返回Stream的方法一样用@Transactional进行注释? - Forin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接