Computer >> Máy Tính >  >> Lập trình >> Android

Làm cách nào để kiểm tra xem biến lateInit đã được khởi tạo trong Kotlin chưa?

Bất kỳ biến nào được khởi tạo sau khi khai báo đều được gọi là "biến lateinitialized". Trong các ngôn ngữ lập trình thông thường, bất kỳ kiểu biến nào không phải NULL đều cần được khởi tạo trong hàm tạo. Nhưng đôi khi, các nhà phát triển quên thực hiện các kiểm tra NULL này, điều này gây ra lỗi aprogramming. Để tránh tình trạng này, Kotlin đã giới thiệu một công cụ sửa đổi mới được gọi là "lateInit". Cùng với công cụ sửa đổi này, Kotlin cung cấp một số phương pháp để kiểm tra xem biến này có được khởi tạo hay không.

Để tạo biến "lateInit", chúng ta chỉ cần thêm từ khóa "lateInit" làm bổ trợ truy cập của biến đó. Sau đây là một số điều kiện cần phải tuân theo để sử dụng "lateInit" trong Kotlin -

  • Sử dụng "lateInit" với một biến có thể thay đổi. Điều đó có nghĩa là, chúng ta cần sử dụng từ khóa "var" với "lateInit".

  • "lateInit" chỉ được phép với các kiểu dữ liệu không phải NULLable.

  • "lateInit" không hoạt động với các kiểu dữ liệu nguyên thủy.

  • "lateInit" có thể được sử dụng khi thuộc tính biến không có bất kỳ getter nào và setter phương pháp.

Ví dụ

Trong ví dụ này, chúng tôi sẽ khai báo một biến là biến "lateInit" và chúng tôi sẽ sử dụng hàm thư viện Kotlin để kiểm tra xem biến đó có được khởi tạo hay không.

class Tutorial {

   lateinit var name : String

   fun checkLateInit(){
      println(this::name.isInitialized)
      // it will print false as the value is not initialized

      // initializing name
      name = "www.tutorialspoint.com/"
      println(this::name.isInitialized)
      // It will return true
   }
}

fun main() {
   var obj=Tutorial();
   obj.checkLateInit();
}

Đầu ra

Khi bạn thực thi mã, nó sẽ tạo ra kết quả sau -

false
true

Trong trường hợp thứ hai, biến name được khởi tạo, do đó nó trả về True.