우리는 변수에 값이 null일수도 있고 아닐 수도 있는 경우를 위해서 nullable 타입을 사용해왔다.
다만 이 타입을 사용한 변수를 사용할 때는 늘 이 변수가 null 값을 가질 수 있다는 생각에 안전조치를 해야했다.
val str1: Any = "hello"
val str2: Any = null
fun checkTypecast(s: Any?): Sting? {
val newStr = s as? String ?: return null
if(newStr.isNotEmpty()){
return newStr.lowercase()
}
return ""
}
이렇게 위와 같이 as 연산자를 이용하든, 변수를 사용하든 ?를 붙여줘야 했다. 하지만 이런 수고를 덜어줄 수 있는 방법이 있다.
바로 해당 변수를 사용하기 전 해당 변수가 null 이면 바로 반환하는 코드를 작성하면 된다.
val str1: Any = "hello"
val str2: Any = null
fun checkTypecast(s: Any?): Sting? {
if(s == null) return null
val newStr = s as String
if(newStr.isNotEmpty()){
return newStr.lowercase()
}
return ""
}
이렇게 null일 경우 바로 반환하는 코드를 작성하면 다음 코드를 작성할 때 null 일 경우를 대비한 장치를 하지 않아도 된다.
'2학년 2학기 > 모바일 소프트웨어 - 코틀린' 카테고리의 다른 글
Class(1) - 클래스 선언과 생성자 (0) | 2024.09.30 |
---|---|
Kotlin_Basic03 - when(2) (0) | 2024.09.20 |
Kotlin_Basic03 - when(1) (0) | 2024.09.20 |
Kotlin_Basic03 - if 식 (0) | 2024.09.20 |
Kotlin_Basic03 - 연산자 오버로딩 (0) | 2024.09.20 |