Java에서 Boolean 타입 null 처리 (BooleanUtils)

코딩은 많은 시행착오·2023년 9월 10일
0

back-end

목록 보기
3/18

서론

Java에서 Boolean 타입을 사용할 경우가 종종 있다.

보통은 boolean을 사용해 null 처리를 안해줘도 되지만, 데이터 베이스에서 select를 하는 상황 등에서 부득이하게 Boolean 타입을 사용할 수 밖에 없는 상황이 있을 것이다.
(데이터 베이스에서 non null 이 아닐 경우..)

Java에서는 wrapper 클래스의 값 자체가 null일 경우도 있기 때문에, Boolean 체크를 할 때 null 체크도 해줘야만 한다.

이러한 경우, 저도 그렇고 여러분도 if문의 조건이 두개로 들어가야하는 상황을 피하고 싶을 것이다.

리팩토링 하고싶은 코드

Boolean data = testRepository.findById(0);
if (data != null && data) {
	// 성공
} else {
	// 실패
}

이럴 때, null인 경우를 따로 처리해줘야할 필요가 없다면 BooleanUtils 클래스를 사용할 수 있다.

BooleanUtils

의존성 추가

먼저 프로젝트의 의존성을 추가해줘야 한다.

implementation 'org.apache.commons:commons-lang3:3.12.0'

Apache Commons Lang 3 라이브러리는 java.lang API를 위한 다양한 유틸리티들을 제공해준다고 한다.

실제 코드 적용

Boolean data = testRepository.findById(0);
if (BooleanUtils.isTrue(data)) {
	// 성공
} else {
	// 실패
}

----------------------------------------

// 인라인으로 구현
if (BooleanUtils.isTrue(testRepository.findById(0))) {
	// 성공
} else {
	// 실패
}

사용 방법은 BooleanUtils.isTrue나 isFalse, isNotTrue, isNotFalse로 사용하면 된다.

내부의 로직을 확인 해보면 null을 별도로 handling 해준다는 것을 알 수 있다.
로직에 맞게 네 가지 메서드를 골라서 사용하면 된다.

끝맺음

별도의 null 처리를 해줘야한다면 사용할 순 없지만, null을 동시에 처리해줘야하는 상황이라면 코드의 리팩토링과 개선을 위해 사용하면 좋다.

0개의 댓글