Giới thiệu
Biến lateinit được khởi tạo sau khi khai báo. Kotlin cung cấp cách kiểm tra xem biến đã được gán giá trị hay chưa để tránh lỗi runtime.
Điều kiện dùng lateinit
- Dùng với
var(mutable). - Kiểu non-null.
- Không dùng kiểu nguyên thủy.
- Không có getter/setter tùy chỉnh.
Ví dụ kiểm tra isInitialized
class Tutorial {
lateinit var name: String
fun checkLateInit() {
println(this::name.isInitialized) // false - chưa gán
name = "www.tutorialspoint.com/"
println(this::name.isInitialized) // true - đã gán
}
}
fun main() {
var obj = Tutorial()
obj.checkLateInit()
}
Kết quả
false true
Thuộc tính isInitialized trên reference this::name trả về Boolean cho biết biến lateinit đã được gán giá trị hay chưa.