Kotlin Study

Kotlin 만의 null 처리 방식

85chong 2020. 3. 13. 21:20
728x90
반응형
SMALL

[null 가능한 타입 명시]

?

- type에 ?를 붙여서 얘는 null이 들어갈수도 있다라고 명시함
ex)

var mArrlstString: ArrayList<String>? = null

[not null]

!!

- 절대 null 될수없으니 그냥 넘어가라고 명시함(null 들어가는순간 NPE)

ex)

var A: String? = ""
//A는 null 될수가 없다!
var B:String = A!!

[null safe operator]

?.

- 앞의 변수가 null이 아닐때만 오른쪽 함수가 수행되고, null이면 null을 반환합니다.

ex)

    override fun onClick(view: View?) { 
        when(view?.id){ 
            R.id.tv_text-> { 
                
            } 
            R.id.tv_text2 -> { 
                
            } 
        } 
    } 

 

* 참고: 위의 코드를 java 로 풀면

   

    @Override 
    public void onClick(View view) { 
        switch (view.getId()) { 
            case R.id.tv_text:



                break; 
            case R.id.tv_text2 :

                break; 
        } 
    }

[elvis operator]

 ?: 

- 좌측이 null인 경우 default 값의 default를 우측의 값으로 지정합니다.
ex)

var get:String =""

// get 이 null 이면 A에 default 를 넣겠다.
var A:String = get?:"default"