Notice
Recent Posts
Recent Comments
Link
반응형
변명은 만개 결과는 한개
[Kotlin] null (1) : null 처리방법 본문
728x90
반응형
null 처리방법
Null 처리
자바
- (기본적으로)null을 허용한다
- Annotation 으로
@NonNull
,@Nullable
지정 가능
public void set(@NonNull String a, @Nullable String b) {
// ...
}
Annotation을 사용할 수 있으나 아래 코드 또한 사용 가능
set(null, null);
코틀린
- (기본적으로)null을 허용하지 않음
- null을 명시적으로 나타내기 위해서
?
을 추가해야한다 - 자바와 달리 IDE 에서 null을 사용할 수 없음을 즉시 알려줌
fun set(a: String, b: String?) {
// ...
}
null을 허용하지 않은 변수인 a
에 null을 대입하면 IDE 단에서 즉시 오류가 발생함. 아래와 같은 코드 사용 불가
set(null, null)
Null 체크 - safe Calls
기존 자바에서처럼 if
문을 쓸 수 있으나
var temp: String? = null
var size = 0
if (temp != null) {
size = temp.length
}
아래와 같이 safe call을 사용하면 더 편하다
var temp: String? = null
val size = temp?.length
// output: null
safe calls 의 장점
기존 java의 null check
if (aaa != null && aaa.bbb != null && aaa.bbb.ccc != null) {
return aaa.bbb.ccc.name;
}
return null;
코틀린의 null check
return aaa?.bbb?.ccc?.name // 어느 하나라도 null 인 경우 null 리턴
728x90
반응형
'공부 > Kotlin' 카테고리의 다른 글
[Kotlin] null (3) : 유용한 null 처리방법 (0) | 2020.11.18 |
---|---|
[Kotlin] null (2) : null 예외처리 (0) | 2020.11.17 |
[Kotlin] Return, Jumps, This Expression (0) | 2020.11.15 |
[Kotlin] Lambdas (0) | 2020.11.14 |
[Kotlin] Control Flow (0) | 2020.11.13 |