标题中提问的例子:
List<UUID> ids = dao1.getContactsOfUser(userId);
List<String> contact_names = ids.stream
.map(uid -> dao2.getContactByUid(uid)) //is it ok?
.filter(contact -> contact.getPhone!=null)
.map(contact -> contact.getFullName())
.collect(Collectors.toList());我知道它有效,甚至很好,但有没有障碍?
发布于 2016-02-26 09:59:53
在java 8流中执行IO可以吗?取决于你所说的OK是什么意思。
好吧,从它的意义上讲,是的,为什么它不能工作呢?
好吧,在这个意义上,我应该:不!
这是不鼓励的。这是没有意义的,首先检索一个用户调用数据库,然后检索有n个更多请求的联系人,仅仅因为您想要联系人的名称,而一个请求可以吗?
在加入联系人名称和构建包含所需信息的聚合列时,增强查询。
https://softwareengineering.stackexchange.com/questions/311161
复制相似问题