Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 티스토리챌린지
- Pinpoint
- 공부
- 코틀린 코루틴의 정석
- 정보처리기사 실기 기출문제
- PETERICA
- AI
- 정보처리기사실기 기출문제
- Linux
- 오블완
- CKA 기출문제
- 기록으로 실력을 쌓자
- minikube
- Spring
- AWS EKS
- MySQL
- kotlin spring
- kotlin
- Elasticsearch
- kotlin querydsl
- CloudWatch
- mysql 튜닝
- 정보처리기사 실기
- aws
- APM
- IntelliJ
- Kubernetes
- CKA
- kotlin coroutine
- Java
Archives
- Today
- Total
피터의 개발이야기
[Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법 본문
반응형
ㅁ 들어가며
ㅇ 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, 제너릭, 플랫폼 타입
반응형
'Programming > Kotlin' 카테고리의 다른 글
[Kotlin] Kotlin의 채널 소개 (0) | 2024.09.19 |
---|---|
[Kotlin] 코틀린에서 null인 경우 분기처리하는 방법 (0) | 2024.09.02 |
[Kotlin] Kotlin과 Builder 패턴 (0) | 2024.08.27 |
[Kotlin] Spring 멀티모듈, JAR 파일로 배포하는 방법 (0) | 2024.08.22 |
[Kotlin] Paging query needs to have a Pageable parameter 문제 해결 (0) | 2024.08.21 |
Comments