• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

[해결완료] 람다 단일 실행문 중괄호 제거

22.01.12 10:59 작성 조회수 390

0



[질문 내용]

안녕하세요 영한님, 많은 강의를 수강하고 입문으로 돌아왔습니다.

질문 게시판을 읽어보니 자바 언어관련은 강의 연관성이 떨어지는 것 같아서 고민되었지만 정말 궁금한 것이 있어서 질문 드립니다.

 

람다식에서 단일 실행문의 중괄호를 생략할 수 있다고 알고 있는데, 컴파일 에러가 나서 consumer 나 함수형 인터페이스 등 구글링을 계속 하고 책을 봐도 이유를 알 수 없네요...

혹시 괜찮으시다면 이유나 키워드 알려주시면 감사하겠습니다. 바쁘실텐데 읽어주셔서 감사합니다!!

아래와 같이 람다식에 중괄호를 생략하면 컴파일 에러가 발생합니다

 

.ifPresent(u -> {throw new IllegalStateException("이미 존재하는 회원입니다.");});

.ifPresent(u -> throw new IllegalStateException("이미 존재하는 회원입니다."));


답변 1

답변을 작성해보세요.

2

gskm77037님의 프로필

gskm77037

질문자

2022.01.12

해결하였습니다..

자바에서 람다 본문은 표현식이거나 블록이여야 하는데 thorw는 명령문이라서 블록을 지우면 사용할 수 없다고 하네요.

간단하게 다른 예를 들어보면 return도 명령문이여서 똑같이 사용할 수 없네요

혹시나 같은 궁금증을 가지실 분이 있을까 남겨봅니다.

감사합니다 ㅎㅎ

스스로 잘 해결하셨습니다^^