CODEDRAGON ㆍDevelopment/Kotlin
null 변수
· 코틀린 언어는 null을 대입할 수 없는 변수와 null을 대입할 수 있는 변수로 구분됩니다.
· null을 저장할 수 없는 변수에 null을 저장하면 "Null can not be a value of a non-null type String" 에러가 발생합니다.
https://kotlinlang.org/docs/reference/null-safety.html
? (nullable type)
· ≒ 널러블 타입 ≒ 널가능 타입 ≒ 널저장 변수
· null을 저장할 수 있는 자료형 타입을 의미합니다.
· 변수 선언시 자료형타입 오른쪽에 ?기호를 써서 null값을 가질 수 있는 nullable type임을 표시해 줍니다.
· 널러블 타입을 사용할 경우 NPE가 발생할 수 있음에 유의해야 합니다.
var data1:String = "Kotlin" |
· non-null type 문자열 변수 · null을 대입할 수 없는 변수 · 문자열만 저장할 수 있습니다. |
var data2:String? = "Kotlin" |
· nullable type 문자열 변수 · null을 대입할 수 있는 변수 · 문자열 또는 null을 저장할 수 있습니다. |
NPE(NullPointException)
http://codedragon.tistory.com/7919
null 저장 변수 선언
변수에 null 값을대입하려면타입에? 기호를이용하여명시적으로null이될수있는변수로 선언해야 합니다.
val | var 변수명:타입? = null |
null을 저장할 수 없는 변수 |
val nonNullData1: String = null var nonNullData2: String = null
|
null을 저장할 수 있는 변수 |
val nullableData1: String? = null var nullableData2: String? = null |
'Development > Kotlin' 카테고리의 다른 글
null safety - as? ?. !!. ?: (Elvis operator) (0) | 2018.10.29 |
---|---|
Kotlin - 메소드 오버로딩(Overloading) 특징, 메소드 오버로딩 규칙 (0) | 2018.10.28 |
Kotlin - enum class, enum 정의 형식 (0) | 2018.10.27 |
문자 타입(Char) (0) | 2018.10.26 |
Kotlin - 변수 초기화 (0) | 2018.10.26 |