Smart cast
val obj1: Any = "I am a string"
if (obj1 !is String) {
println("not a string")
} else {
// obj 가 자동으로 String으로 casting 됨
println(obj1.length.toString() + "의 길이를 갖습니다.")
}
val str1 : String = obj1 as String
println(str1.length)
val obj2: Any = 1234
// as? 를 사용하면 compile 단계에서 type 불일치를 찾을 수 있음
val str2: String = obj2 as? String
println(str2)
as? 를 사용하면 compile 단계에서 type 불일치를 찾을 수 있음
'kotlin' 카테고리의 다른 글
kotlin - lambda (0) | 2023.02.13 |
---|---|
kotlin Array (0) | 2023.02.07 |
kotlin collection (0) | 2023.02.07 |
kotlin OOB- inheretance (0) | 2023.02.07 |
kotlin Data classes (0) | 2023.02.06 |