송민준의 개발노트

코틀린 when 본문

안드로이드/코틀린

코틀린 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")
}

 

'안드로이드 > 코틀린' 카테고리의 다른 글

class와 property  (0) 2020.06.07
코틀린 예외처리  (0) 2020.06.06
코틀린 for  (0) 2020.06.06
if-else  (0) 2020.06.04
코틀린 함수와 변수  (0) 2020.06.01