안드로이드/코틀린
코틀린 when
송민준
2020. 6. 5. 07:02
when은 자바의 switch라고 볼 수 있다.
val a = "a"
val b: String
when(a) {
"a" -> b = "하이"
"b" -> b = "노하이"
"c" -> b = "후후"
"d" -> b = "히히"
else -> b = "ㅎㅎ"
}
위와 같은 식으로 활용도 가능하고
값의 범위도 비교 가능하다
val c = 5
when(c) {
in 1..10 -> print("x")
!in 10..20 -> print("xx")
else -> print("nothing")
}
객체 비교도 가능하다
data class Human(val name: String, val age: Int)
val person = Human("NEXA", 12)
when (Human) {
Person("AAA", 13) -> print("A")
Person("BBB", 12) -> print("B")
}
fun hasNext(x: Any) = when(x) {
is String -> x.startsWith("Next")
else -> false
}
val x = 2
when {
x.isAdd() -> print("x is Add")
x.isCadi() -> print("x is Cadi")
else -> print("x is dd")
}