필자는 필요한 값을 반환하기 위해 술어에서 열거 형을 반복하려고합니다.술어에서 enum 반복?
는 여기에 내가 무엇을 할 것이라고입니다 : 자바를 제외하고
private Predicate<Item> isCorrectItem() {
for (Thing thing : Thing.values()) {
return item -> item.getId() == thing.getNumber();
}
}
는 루프 aswell 이외의 수익을 원한다. 루프가 끝난 후에 null을 돌려 주면 나에게 도움이되지 않습니다. 나는 두 번 반환하지 않거나 첫 번째 항목에서 열거 형을 반복하지 않도록하려면 어떻게해야합니까? 그리고 그렇지 않다면 무엇을 으로 돌려 주어야합니까? 이 가지고있는 enum Thing
에 일치하는 number
당신이 garnulf의 대답 @
private Predicate<Item> isCorrectItem() {
return item -> Arrays.stream(Thing.values()).anyMatch(thing -> thing.getNumber() == item.getId());
}
당신의 술어가 원하는 것이 무엇인지 명확하지 않습니다. 물건의 * *이 항목에 가치가 있는지 여부를 확인하려고합니까? 모든 "물건 번호"에 대해'HashSet '(또는 무엇이든)을 원하지 않는 이유는 무엇입니까? –