기본 타입
val number1 = 3
val number2 = 3L
- 코틀린에서는 선언된 기본 값을 보고 타입을 추론함
자바 : 기본 타입간의 변환은 암시적으로 이루어질 수 있음
코틀린 : 기본 타입간의 변환은 명시적으로 이루어져야 함
//java
int number1 = 4
long number2 = number1;
//kotlin
val number 1 =4
val number2 : Long = number1 // compile error
val number2 : Long = number1.toLong() // ok
- to변환 타입 함수는 굉장히 많음 (toDouble, toDecimal..)
val number1 : Int? = 3
val number2 : Long = number1.toLong() ?: 0L
- nullable 변수에 대해서는 다음과 같은 적절한 처리가 필요함.
타입 캐스팅
자바
if (obj instanceof Person) {
Person person = (Person)obj // Person으로 변환
}
코틀린
if (obj is Person){
val person = obj as Person
}