자료형 검사하기
자료형 검사를 해보자
val a4: Int = 128
val b4: Int? = 128
println("===자료형 검사===")
if (a4 is Int) {
println("a4 는 Int 형입니다.")
}
결과는
===자료형 검사===
a4 는 Int 형입니다.
그럼 위에 스마트캐스트 테스트한 2-4.1 에서 작성 코드로 자료형 잘 변환 되었는지 확인 해 보자
println("===============Number형 smartcast 테스트 START================")
var NumbTest: Number = 21.2
var typeStr = ""
if (NumbTest is Number) {
typeStr = "Number:"
}else{
typeStr = "뭘까요?:"
}
println("$typeStr $NumbTest") // Float 형 smartcast 테스트
NumbTest = 21
if (NumbTest is Int) {
typeStr = "Int:"
}else if(NumbTest is Number){
typeStr = "Number:"
}
println("$typeStr $NumbTest") // Int 형 smartcast 테스트
NumbTest = 21.3
if (NumbTest is Float) {
typeStr = "Float 상수값:"
}else if(NumbTest is Number){
typeStr = "Number 상수값:"
}
println("$typeStr $NumbTest") // Float 형 smartcast 테스트
NumbTest = 210L
if (NumbTest is Long) {
typeStr = "Long:"
}else if(NumbTest is Number){
typeStr = "Number:"
}
println("$typeStr $NumbTest") // Long 형 smartcast 테스트
NumbTest += 21.1f
if (NumbTest is Float) {
typeStr = "Float:"
}else if(NumbTest is Number){
typeStr = "Number:"
}
println("$typeStr $NumbTest") // Float 형 smartcast 테스트
println("===============Number형 smartcast 테스트 E N D================")
결과는
===============Number형 smartcast 테스트 START================
Number: 21.2
Int: 21
Number 상수값: 21.3
Long: 210
Float: 231.1
===============Number형 smartcast 테스트 E N D================
잘 보면 알겠지만 최초 Number 타입은 Number로 인식한다....(당연한건가.ㅋ)
이후 형변환이 되면서 각 자료형에 맞게 출력되는데
중간에 추가된 붉은색 부분은 여전히 Number로 인식한다.
Float로 인식시키려면 "21.3F" 라고 해야함.
코틀린에 어떤 Error 가 있는지 궁금하면?? 클릭 -> [코틀린] 오류코드 정리 :: 리뎁
자료형 과 변수가 궁금 하다면 ? 클릭 -> [코틀린] 자료형과 변수 & 엘비스 연산자 :: 리뎁
이중등호 삼중등호가 궁금하면? 클릭 -> [코틀린] 자료형 비교/변환 - 이중등호-삼중등호 :: 리뎁
'Programming > Kotlin' 카테고리의 다른 글
[코틀린] Any타입 변수란? :: 리뎁 (0) | 2019.12.01 |
---|---|
[코틀린] 스마트캐스트 :: 리뎁 (0) | 2019.12.01 |
[코틀린] 자료형 비교/변환 - 이중등호-삼중등호 :: 리뎁 (0) | 2019.11.17 |
[코틀린] 자료형과 변수 & 엘비스 연산자 :: 리뎁 (0) | 2019.11.16 |
[코틀린] Module, Package, File :: 리뎁 (0) | 2019.11.10 |