Android/Kotlin
[Kotlin] lateinit vs Delegates.notNull<>()
혀가 길지 않은 개발자
2020. 8. 27. 15:17
lateinit vs Delegates.notNull<>()
MainActivity.kt
package com.jwsoft.kotlinproject
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
private lateinit var longValue: Long
private lateinit var intValue: Int
private lateinit var stringValue: String
private lateinit var arrLong: ArrayList<Long>
private lateinit var arrInt: ArrayList<Int>
private lateinit var arrString: ArrayList<String>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
MainActivity.kt
package com.jwsoft.kotlinproject
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlin.properties.Delegates
class MainActivity : AppCompatActivity() {
private var longValue by Delegates.notNull<Long>()
private var intValue by Delegates.notNull<Int>()
private lateinit var stringValue: String
private lateinit var arrLong: ArrayList<Long>
private lateinit var arrInt: ArrayList<Int>
private lateinit var arrString: ArrayList<String>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
lateinit 선언 시 원시타입 사용 X
by Delegates.notNull<>() 사용 시 원시타입 사용 O