-
kotlin null check 할때 let 을 써야할까?Android 외 개발 2019. 12. 10. 14:31
java 를 kotlin 으로 변경하면서 let, run, apply , with 등의 함수를 많이 사용하게 되었습니다.
그 중에서 let 의 경우 safe clls(?.) 과 함께 사용하는 것은 언제 사용해야 되는가에 대한 의문이 들었습니다.
https://medium.com/@elye.project/kotlin-dont-just-use-let-7e91f544e27f
그렇게 찾아보던 중에 위의 포스팅을 읽게 되면서 정리가 되었습니다.
// NOT RECOMMENDED fun process(str: String?) { str?.let { /*Do something*/ } } // RECOMMENDED fun process(str: String?) { if (str != null) { // Do Something } }
단순히 null check 만 할때 str?.let 의 경우 if(str != null) 에 비해 아무런 이득이 없습니다.
추가로 위에서 사용한 몇가지 사례를 더 적었습니다.
// NOT RECOMMENDED webviewSetting?.let { it.javaScriptEnabled = true it.databaseEnabled = true } // RECOMMENDED webviewSetting?.run { javaScriptEnabled = true databaseEnabled = true }
// NOT RECOMMENDED stringList?.let { println("Total Count: ${it.size}") it }?.forEach{ println(it) } // THIS IS BETTER THAN PREVIOUS stringList?.also { println("Total Count: ${it.size}") }?.forEach{ println(it) }
'Android 외 개발' 카테고리의 다른 글
Android Notification example (0) 2020.01.07 [kotlin] SharedPreferences example (0) 2020.01.03 kotlin use example (0) 2019.12.10 Kotlin error (0) 2019.12.04 Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 (0) 2019.06.20