[Kotlin] 안전한 null 처리

코틀린의 null

?.를 사용했을 때의 장점

Java에서 null을 피하는 방법

String temp = null;
int size = -1;
if (temp != null)
{
    size = temp.length();
}

// 또는 TextUtils.isEmpty()를 활용
if (!TextUtils.isEmpty(temp))
{
    size = temp.length();
}

Kotlin에서 null을 피하는 방법

var temp: String? = null
var size = -1
if (temp != null)
{
    size = temp.length
}

// 좀 더 줄이면 아래와 같습니다.
var temp: String? = null
val size = if (temp != null) temp.length else -1

Safe Calls

함수에서의 사용 방법

NULL을 완전히 배제하려면?

?.을 이용하려면 null이 return되는데 다른 값을 하려면?

NPE를 발생시키려면??

안전한 형 변환

filterNotNull