Java

람다(lambda)

keepgoing 2023. 1. 30. 12:35

 

익명함수

(매개변수1,...) -> {함수;}
// 람다식 X
public int sum(int a, int b) {
	return a + b;
}
 
// 람다식 O
(int a, int b) -> {return a + b;}

엄청 간편하지 않은가? 위와같이 함수의 이름 없이 람다식으로 구현한 함수를 일명 익명함수 라고 하기도 한다. 만약 어떤 변수에 a 와 b의 합을 구하고 싶다면 다음과 같이 하면 된다.

다른 예시

public SpringBoard get(Long id){
//        SpringBoard springBoard = boardRepository.findById(id); //Optional로 반환해줘야 하기 때문에 오류 발생.
        SpringBoard springBoard = boardRepository.findById(id)
                .orElseThrow(() -> new IllegalArgumentException("존재하지 않는 글입니다."));

		return springBoard;
    }

글을 조회하는 비즈니스 로직에서 만약 글이 존재하지 않을 때 람다식으로 에러처리.