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;
}
글을 조회하는 비즈니스 로직에서 만약 글이 존재하지 않을 때 람다식으로 에러처리.