본 글은 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
을 보고 정리한 글입니다.
int number1 = 4;
long number2 = number1;
자바에서는 큰 타입으로 암시적 변경이 가능하다.
val number1 = 4
val number2: Long = number1.toLong()
코틀린에서는 Type Mismatch가 일어나, to변환타입()을 사용해야 한다!
val number1: Int? = 4
val number2: Long = number1?.toLong() ?: 0L
변수가 nullable일 경우, NPE 방지를 위한 Safe Call과 Elvis 연산자를 활용한 처리
public static void PrintAge(Object obj) {
if (obj instanceof Person) {
Person person = (Person) obj;
System.out.println(person.getAge());
}
fun printAgeIfPerson(obj: Any) {
if (obj is Person) {
val person = obj as Person
println(person.age)
}
Kotlin에서 is는 instanceof와 같은 기능, as Person는 (Person) obj와 같은 의미이다!
fun printAgeIfPerson(obj: Any) {
if (obj !is Person) {
println(person.age)
}
Kotlin에서 !is는 instanceof의 반대 기능(~가 아니라면)
fun printAgeIfPerson(obj: Any?) {
val person = obj as? Person
println(person?.age)
}
Kotlin에서 obj 객체가 nullable일 경우 처리 방법
val person = Person("김민우", 23)
val log = "사람의 이름은 ${person.name} ..."
${변수}를 이용하면 값이 들어간다.
val withoutIndent =
"""
ABC
123
456
""".trimIndent()
여러 줄의 문자열을 출력할때 큰 따옴표 세 개를 쓰면 편하게 가능!
val str = "ABCDE"
val ch = str[1]
Kotlin에서 문자열의 특정 문자 불러오기 가능!