クリスGarsonn:
私はのリスト持って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を使用しています
ルスラン:
あなたはブール値が必要な場合は行うことができます。
boolean b = officesOfTheGroup.stream()
.anyMatch(office -> !office.getId().equals(5) && office.getLabel().equals("London"))