-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
p 273 를 보면
코드 블록에서는 return 문을 사용해 메서드에서 빠져나가거나, break나 continue 문으로 블록 바깥의 반복문을 종료하거나 반복을 한 번 건너뛸 수 있다. 또한 메서드 선언에 명시된 검사 예외를 던질 수 있다. 하지만 람다로는 이 중 어떤 것도 할 수 없다.
라고 나와있습니다.
메서드 선언에 명시된 검사 예외를 던진다 라는 문장의 원문은 혹시 헷갈릴까봐 가져왔습니다.
throw any checked exception that this method is declared to throw;
링크를 참조하면 람다로도 checked exception을 구현할 수 있는 거 같아 혼란이 옵니다.
(자바지기님이 작성한 글이네요)
return으로 빠져나오는 것도 가능하지 않을까요? 다음 코드처럼 말입니다
(int a, int b) -> {
if(a==1){
return 0 ;
}
return a+b;
}비슷하게
(int a, int b) -> {
while(true){
break;
}
}이런 것도 가능할 거 같습니다.
책에서 말한 람다로 할 수 있는 것이란 이렇게 중괄호 속에 복잡하게 표현한 것은 제외한 것일까요?
람다로 하면 깔끔하지는 않지만 가능한 거 같은 것들을 책에서 불가능하다고 해서 혼란이 옵니다.
정완님 의견이 궁금하네요
Metadata
Metadata
Assignees
Labels
No labels