Android (Kotlin)

[Kotlin] let 과 also , Elvis 연산자 와 Null 값 필터링

No.401 2020. 9. 13. 17:28

Let function은 아래와 같이 참조가 nullable이 아닌 경우에만 지정된 람다 함수를 실행

newString = " Kotlin from Android"
newString?.let { println("The string value is: $it") }
newString = null
newString?.let { println("The string value is: $it") }

also 사용

var c = "Hello"

        var newString = "chenge string."
        newString?.let { c = it }.also {
            println("Logging the value: $it")
        }
        Log.d("TAG",c)
        
   -->   "chenge string."

Elvis 연산자  : Elvis 연산자를 ?:사용하면 아래와 같이 null 대신 기본값을 설정할 수 있다.

var newString : String?  = "JournalDev.com"
println(newString?.length) //prints 14
newString = null
println(newString?.length?:"-1") //prints -1

Null value filter

var array2: Array<Any?> = arrayOf("1", "2", "3", null)
var newArray = array2.filterNotNull()
println(newArray.size) //prints