== 는 내부적으로 equals를 호출한다.
https://tourspace.tistory.com/114
코틀린은 null이 될 수 있는 type을 명시적으로 표현할 수 있다.
type에 ?를 붙여 null이 가능한 변수임을 표현
fun strLenSafe(s: String?): Int =
if (s != null) s.length else 0 // null check
nullable type은 null check를 반드시 해주어야 한다. 그렇지 않으면 error
null safe operator
null을 안전하게 처리하기 위해 코틀린은 ?. 연산자를 지원
fun printAllCaps(s: String?) {
val allCaps: String? = s?.toUpperCase()
println(allCaps)
}
fun main(args: Array) {
printAllCaps("abc")
printAllCaps(null)
}
ABC null
?. 연산자를 사용하면, 앞의 변수가 null이 아닐 때만 오른쪽 함수가 수행되고 null이면 null 반환
?.는 if ( s≠ null) s.toUpperCase() else null과 같은 역할을 한다.