관리 메뉴

피터의 개발이야기

[Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법 본문

Programming/Kotlin

[Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법

기록하는 백앤드개발자 2024. 8. 28. 10:10
반응형

ㅁ 들어가며

ㅇ Kotlin을 2024.5부터 사용하면서, [Kotlin] 널 안정성, Null safety을 정리하였다.

ㅇ 실질적인 코딩을 하면서 기본값 세팅하는 방법을 정리하게 되었다.

ㅇ 이번 글에서는 Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법을 정리해 보았다.


ㅁ 엘비스 연산자 (?:) 사용

val nullableLong: Long? = null
val result = nullableLong ?: 0L


이 방법에서는 nullableLong이 null이면 0L(Long 타입의 0)이 result에 할당된다.

 

ㅁ  안전 호출 연산자 (?.)와 엘비스 연산자 (?:) 조합

// Kotlin
val nullableLong: Long? = null
val result = nullableLong?.toLong() ?: 0L

// java
Long nullableLong;
Long result;

if (nullableLong != null) 
	result = nullableLong.toLong();
else
	result = null;

ㅇ 이 방법은 nullableLong이 null이 아닐 경우 toLong()을 호출하고, null일 경우 0L을 반환한다.

ㅇ JAVA 코드와 비교를 하면, '?.'가 if문을 줄이는 효과를 확인할 수 있다.

 

ㅁ let 함수와 엘비스 연산자 사용

val nullableLong: Long? = null
val result = nullableLong.let { it ?: 0L }

ㅇ 이 방법은 let 함수를 사용하여 nullableLong이 null이 아닐 경우 그 값을 사용하고, null일 경우 0L을 반환한다.

ㅁ 조건문 사용

val nullableLong: Long? = null
val result = if (nullableLong != null) nullableLong else 0L

//java
void test(){
    Long nullableLong = null;
    Long result = ifNullChk(nullableLong);
}

private Long ifNullChk(Long nullableLong){
    if (nullableLong != null){
        return nullableLong;
    }else {
        return 0l;
    }
}

ㅇ 이 방법은 전통적인 if-else 문을 사용하여 null 체크를 수행한다.
ㅇ 코틀린에서는 if도 함수형이 아닌 식 형태로 작성할 수 있어 코딩을 더욱 간결하게 할 수 있다.

 

ㅁ 마무리

 이 중에서 가장 간결하고 널리 사용되는 방법은 엘비스 연산자 (?:)를 사용하는 첫 번째 방법이다. 이 방법은 코드가 간결하면서도 명확하게 null 처리를 할 수 있다.

 

ㅁ 함께 보면 좋은 사이트

[Kotlin] 기본 - Null 처리 '? / ?. / !! / ?: / lateinit / lazy'

 [Kotlin] 코틀린 null 처리 - ? ?. ?: !!, let, lateinit, 제너릭, 플랫폼 타입

[코틀린] 코틀린에서 Type을 다루는 방법

 

반응형
Comments