반응형
아래 일반적인 코틀린에서의 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"]
}
이런식으로 줄일 수도 있습니다
좀 더 끌리는? 것과 상황에 맞게 사용하시면 될 것 같습니다!!
반응형
'Kotlin' 카테고리의 다른 글
코루틴 Scope는 어떤 종류들이 있을까? (CoroutineScope, LifecycleScope, ViewModelScope) (0) | 2022.04.25 |
---|---|
[Kotlin] 2차원 배열을 이해하고 사용해 보자! (0) | 2021.07.08 |
자바의 switch 보다 강력한 kotlin의 when! (0) | 2021.04.05 |
Kotlin에서 if는 어떻게 부를까요? (0) | 2021.03.26 |