【发布时间】:2019-06-26 12:18:35
【问题描述】:
我有一个 GroupOffices
的列表List<GroupOffice> officesOfTheGroup;
我想搜索id是否不等于groupOffice.getId(长值)但标签是groupOffice.getLabel(字符串)并将其分配给布尔值。下面的代码运行良好,但是有没有更好的方法而不是使用 for 循环遍历所有项目?
public GroupOfficeDto saveGroupOffice(GroupOfficeDto groupOfficeDto) {
List<GroupOffice> officesOfTheGroup = //some list from db..
for (GroupOffice go : officesOfTheGroup) {
if ((!go.getId().equals(groupOfficeDto.getId())) && go.getLabel().equals(groupOfficeDto.getLabel())) {
return groupOfficeDto;
}
return null:
}
或者我该如何使用流?如果是这样,使用流是更好的方法吗?
注意:我使用的是Java8
【问题讨论】:
-
我想搜索 id 是否等于 5 但标签不是 London 并将其分配给布尔值您的代码会相反。
-
我很困惑。您提供的代码似乎执行了与您描述的代码相反的测试。
-
感谢 cmets 我编辑了问题。代码是正确的
标签: java list java-8 stream java-stream