728x90

Android Kotlin 2

[Kotlin] 코틀린에서 변수 타입 ? 는 무엇을 의미 하는가

안드로이드 개발을 하면서 코틀린을 배울 필요가 생겨나서 요즘 계속 코틀린에 대한 공부를 하고 있다. 코틀린 코드를 보다면서 간혹 아래와 같은 코드가 보이게 된다. val languageName: String? = null 위의 코드 예제처럼 변수를 선언할 때 타입 뒤에 ?를 붙이는 경우이다. ?의 의미는 languageName 변수를 String 으로 선언을 하는데, String 의 값도 가질 수 있고, Null 값을 가질 수도 있다는 의미다. 그래서 만약 아래와 같이 코딩을 한다면 컴파일 시 에러가 발생한다. // Fails to compile val languageName: String = null 이런 경우의 의미는 타입 뒤에 ?가 없기 대문에 languageName은 Null 값을 가질 수 없다...

IT/Android 2019.08.01

[Kotlin] Not enough information to infer type variable T 에러

Kotlin으로 안드로이드 프로그래밍은 처음 시작한다면 이 에러를 거의 100% 확률로 접할 수 있다. 물론 초기만 당하고, 한 번 당해보면 그 뒤부터는 당할 일이 없는 에러이기도 하다. 위의 에러를 직역해본다면 다음의 뜻이다. "정보가 불충분하여 변수 T에 대한 타입을 추론할 수 없다." 실제 빌드타임에 에러는 아래와 같이 발생한다. C:\workspace\testkotlin1\app\src\main\java\com\testkotlin1\MainActivity.kt: (23, 13): Type inference failed: Not enough information to infer parameter T in fun findViewById(p0: Int): T! Please specify it expli..

IT/Android 2019.07.31
728x90