Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Kotlin에서 lateInit 변수가 초기화되었는지 확인하는 방법은 무엇입니까?

<시간/>

선언 후에 초기화되는 모든 변수를 "늦게 초기화된 변수"라고 합니다. 기존 프로그래밍 언어에서는 NULL이 아닌 모든 유형의 변수를 생성자에서 초기화해야 합니다. 그러나 때때로 실수로 개발자는 프로그래밍 오류를 일으키는 이러한 NULL 검사를 잊어버립니다. 이러한 상황을 피하기 위해 Kotlin은 "lateInit"이라는 새로운 수식어를 도입했습니다. 이 수식어와 함께 Kotlin은 이 변수가 초기화되었는지 여부를 확인하는 몇 가지 방법을 제공합니다.

"lateInit" 변수를 생성하려면 해당 변수의 접근 한정자로 "lateInit" 키워드를 추가하기만 하면 됩니다. 다음은 Kotlin에서 "lateInit"을 사용하기 위해 따라야 하는 몇 가지 조건입니다 -

  • 변경 가능한 변수와 함께 "lateInit"를 사용하십시오. 즉, "lateInit"와 함께 "var" 키워드를 사용해야 합니다.

  • "lateInit"은 NULL을 허용하지 않는 데이터 유형에만 허용됩니다.

  • "lateInit"은 기본 데이터 유형에서 작동하지 않습니다.

  • "lateInit"는 변수 속성에 getter가 없을 때 사용할 수 있습니다. 및 세터 방법.

예시

이 예에서는 변수를 "lateInit" 변수로 선언하고 Kotlin 라이브러리 함수를 사용하여 변수가 초기화되었는지 여부를 확인합니다.

class Tutorial {

   lateinit var name : String

   fun checkLateInit(){
      println(this::name.isInitialized)
      // it will print false as the value is not initialized

      // initializing name
      name = "www.tutorialspoint.com/"
      println(this::name.isInitialized)
      // It will return true
   }
}

fun main() {
   var obj=Tutorial();
   obj.checkLateInit();
}

출력

코드를 실행하면 다음과 같은 출력이 생성됩니다. -

false
true

두 번째 경우 변수 name 초기화되어 True를 반환합니다.