작성
·
456
0
[질문 내용]
안녕하세요 영한님, 많은 강의를 수강하고 입문으로 돌아왔습니다.
질문 게시판을 읽어보니 자바 언어관련은 강의 연관성이 떨어지는 것 같아서 고민되었지만 정말 궁금한 것이 있어서 질문 드립니다.
람다식에서 단일 실행문의 중괄호를 생략할 수 있다고 알고 있는데, 컴파일 에러가 나서 consumer 나 함수형 인터페이스 등 구글링을 계속 하고 책을 봐도 이유를 알 수 없네요...
혹시 괜찮으시다면 이유나 키워드 알려주시면 감사하겠습니다. 바쁘실텐데 읽어주셔서 감사합니다!!
아래와 같이 람다식에 중괄호를 생략하면 컴파일 에러가 발생합니다
.ifPresent(u -> {throw new IllegalStateException("이미 존재하는 회원입니다.");});
.ifPresent(u -> throw new IllegalStateException("이미 존재하는 회원입니다."));
답변 1
2
해결하였습니다..
자바에서 람다 본문은 표현식이거나 블록이여야 하는데 thorw는 명령문이라서 블록을 지우면 사용할 수 없다고 하네요.
간단하게 다른 예를 들어보면 return도 명령문이여서 똑같이 사용할 수 없네요
혹시나 같은 궁금증을 가지실 분이 있을까 남겨봅니다.
감사합니다 ㅎㅎ
스스로 잘 해결하셨습니다^^