2017-12-27 6 views
2

나는 람다 식을 사용하고 있습니다.람다 - 자바 8 예외 던졌습니다.

for (Integer id: ids) { 
    if (!repository.exists(id)) { 
     throw new Exception ..... 
    } 
} 

내가이 사용하여 시도 : 어떤이의 것과 동일

ids.stream().filter(id-> repository.exists(idStatut)).findAny().orElseThrow(() -> 
       new Exception... 
      ); 

을하지만 원래 루프를 바탕으로 잘

답변

5

작동하지 않습니다, 당신은 예외의 경우가 발생 할 Integer 중 하나가 필터를 통과하지 못합니다.

if (ids.stream().anyMatch(id -> !repository.exists(id))) 
    throw new Exception ... 
+0

고맙습니다! 나는 그것에 대해 아침 내내 낭비했다. -0- " – Sue

+0

@ 에린 - 어떤 슈퍼 히어로가 코드를 작성했기 때문에. –