Kotlin
Kotlin에서 if문을 대체하는 2가지 방법
안솝우화
2022. 4. 21. 08:42
반응형
아래 일반적인 코틀린에서의 if문이 있습니다, 하지만 이 방법은 문제점이 존재합니다
val nowState = "onStart"
if (nowState == "onStart"){
//do
}else if (nowState == "onResume"){
//do
}else if (nowState == "onPause"){
//do
}else if (nowState == "onStop"){
//do
}else{
//onDestroy
//do
}
바로 가독성을 떨어뜨린다는 것입니다
딱 봐도 한눈에 알아보기 힘들지 않나요?? :(
그렇다면 이 문제를 어떻게 해결할 수 있을까요? 오늘은 2가지로 크게 나눠 알아보겠습니다
When
val nowState = "onStart"
when(nowState){
"onStart" -> { }
"onResume" -> { }
"onPause" -> { }
"onStop" -> { }
else -> { }
}
when으로 이렇게 줄이고 가독성을 향상할 수 있습니다!
HashMap
val nowStateMap = HashMap<String,String>()
nowStateMap["start"] = "onStart"
nowStateMap["resume"] = "onResume"
nowStateMap["pause"] = "onPause"
nowStateMap["stop"] = "onStop"
//찾기를 원하는 키
if (nowStateMap.containsKey("red")){
//키의 정보 값에 접근
nowStateMap["red"]
}
이런식으로 줄일 수도 있습니다
좀 더 끌리는? 것과 상황에 맞게 사용하시면 될 것 같습니다!!
반응형