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 |
Tags
- PETERICA
- Elasticsearch
- Spring
- AWS EKS
- AI
- 정보처리기사 실기
- 오블완
- minikube
- CKA 기출문제
- kotlin
- kotlin coroutine
- Kubernetes
- 기록으로 실력을 쌓자
- 티스토리챌린지
- aws
- APM
- IntelliJ
- 정보처리기사 실기 기출문제
- Java
- 공부
- Pinpoint
- CKA
- kotlin spring
- 코틀린 코루틴의 정석
- kotlin querydsl
- mysql 튜닝
- Linux
- CloudWatch
- MySQL
- 정보처리기사실기 기출문제
Archives
- Today
- Total
피터의 개발이야기
[Kotlin] 코틀린에서 null인 경우 분기처리하는 방법 본문
반응형
ㅁ 들어가며
ㅇ 지난 글, [Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법에서 null 값인 경우 기본값 처리 방법에 대해서 정리하였는데, 이를 응용하여 requestDto.somethingSeq가 null인 경우를 분기 처리하는 방법은 여러 가지가 있어서 그 방법을 정리해 보았다.
ㅁ 안전호출 연산자(?)와 엘비스 연산자(?:)
val result = requestDto.somethingSeq?.let { seq ->
// seq가 null이 아닌 경우 실행될 코드
"Sequence: $seq"
} ?: run {
// seq가 null인 경우 실행될 코드
"Sequence is null"
}
ㅁ when 표현식 사용
val result = when (val seq = requestDto.somethingSeq) {
null -> "Sequence is null"
else -> "Sequence: $seq"
}
ㅁ if-else
val result = if (requestDto.somethingSeq != null) {
val seq = requestDto.somethingSeq
// seq가 null이 아닌 경우 실행될 코드
"Sequence: $seq"
} else {
// seq가 null인 경우 실행될 코드
"Sequence is null"
}
ㅁ requireNotNull()
try {
val seq = requireNotNull(requestDto.somethingSeq) { "somethingSeq must not be null" }
// seq가 null이 아닌 경우 실행될 코드
"Sequence: $seq"
} catch (e: IllegalArgumentException) {
// seq가 null인 경우 실행될 코드
"Sequence is null: ${e.message}"
}
ㅇ requireNotNull함수는 값이 null인 경우 IllegalArgumentException을 발생시킨다.
ㅇ try-catch와 함께하면 null에 대한 분기 처리가 가능하다.
ㅇ 번외의 null에러 처리 시 접합한 방법이다.
ㅁ 함께 보면 좋은 사이트
ㅇ [Kotlin] 기본 - Null 처리 '? / ?. / !! / ?: / lateinit / lazy'
ㅇ [Kotlin] 코틀린 null 처리 - ? ?. ?: !!, let, lateinit, 제너릭, 플랫폼 타입
반응형
'Programming > Kotlin' 카테고리의 다른 글
[Kotlin] Kotlin과 Spring 환경에서 JSR-305란? (2) | 2024.11.07 |
---|---|
[Kotlin] Kotlin의 채널 소개 (0) | 2024.09.19 |
[Kotlin] Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법 (1) | 2024.08.28 |
[Kotlin] Kotlin과 Builder 패턴 (0) | 2024.08.27 |
[Kotlin] Spring 멀티모듈, JAR 파일로 배포하는 방법 (0) | 2024.08.22 |
Comments