Android 이상 kotlin.UninitializedPropertyAccess 예외:lateinit property**가 초기 화 되 지 않 았 습 니 다.

평소에 저희 가 Kotlin 을 사용 해서 코드 를 쓸 때 이상 이 자주 발생 해 요.
 kotlin.UninitializedPropertyAccessException: lateinit property photoFile has not been initialized

이것 은 사실 초기 화 되 지 않 은 이상 입 니 다.자바 에 있 는 대상 의 기본 값 은 null 입 니 다.직접 판단 할 수 있 습 니 다.Kotin 에 서 는 직접 판단 할 수 있 습 니 다.
 private lateinit var user: User

이렇게 하면 다음 과 같이 직접 참조 하 십시오.예 를 들 어:
user.UserName

이렇게 하면 오류 가 발생 합 니 다.초기 화 되 지 않 았 기 때문에 두 가지 쓰기 로 첫 번 째 는 호출 전에 할당 하 는 것 을 피 할 수 있 습 니 다.
user=User()

두 번 째 는 성명 을 바 꾸 고 판단 을 하 는 것 이다.
private  var user: User=?null

if(user!=null){
user.UserName//          
}

좋은 웹페이지 즐겨찾기