lan/kotlin

[Kotlin] when

캄춰 2023. 11. 23. 09:09
728x90
반응형

일반적인 'when'은 'switch'문 처럼 사용이 가능하나,

특이한 케이스를 알게 되어 정리한다.

 

 

일반적인 'when'

val x: String = "samsung"

when (x) {
    "lg" -> { }
    "apple" -> { }
    "hyundae" -> { }
    "samsung" -> { }
    "lotte" -> { }
}

 

[해석]

x라는 변수가 어떤 값을 갖고 있는지 when의 괄호 안에 넣어서 해당

case에 맞는 값을 찾고 내용을 실행한다.

 

 

새로 알게된 'when'

: case별로 모은 것이 아닌 마치 if문을 차례로 해놓는 방법이다.

: 가독성이 높아진다고 하는데, 나는 똑바로 명시해주는 것을 선호한다.

: 다신 안쓸것 같다. 그치만 리펙토링 중 나오면 당황하지 말자.

when {
    permission == Manifest.permission.something -> { }
    x == "samsung" -> { }
    else -> { }
}

 

첫 번째 조건이 참이면 해당 블럭을 실행한다.

아래의 if ~ else if ~ else와 동일한 수행을 한다.

if (permission == Manifest.permission.something) {

} else if (x == "samsung") {

} else {
    
}

 

728x90
반응형

'lan > kotlin' 카테고리의 다른 글

[Kotlin] Type 타입 확인 방법  (0) 2023.11.10
[Kotlin] 특정 값의 약수 중 난수 선택  (0) 2023.11.02