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

Toán tử Kotlin double-bang (!!) là gì?

Trong Kotlin, "!!" là một toán tử được gọi là toán tử hai tiếng. Toán tử này còn được gọi là "toán tử khẳng định not-null". Toán tử này được sử dụng để chuyển đổi bất kỳ giá trị nào thành giá trị kiểu không phải NULL và nó ném ra một ngoại lệ nếu giá trị tương ứng là NULL. Trong ví dụ sau, chúng ta sẽ thấy cách sử dụng toán tử hai dấu hiệu này.

Ví dụ 1

Trong ví dụ này, chúng tôi sẽ xem xét một biến "name" và với tư cách là một lập trình viên, chúng tôi muốn ném một ngoại lệ con trỏ NULL bất cứ khi nào giá trị của "name" là NULL. Bây giờ, hãy thực thi đoạn mã sau

fun main(args: Array<String>) {
   var name: String?
   name = null
   println(name)
}

Đầu ra

Nó sẽ tạo ra kết quả sau -

null

Đoạn mã này không thực sự giải quyết được câu lệnh yêu cầu của chúng tôi. Chúng tôi muốn đưa ra một ngoại lệ con trỏ NULL bất cứ khi nào giá trị của "name" là NULL. Hãy sửa đổi ví dụ trước của chúng ta với sự trợ giúp của toán tử double-bang (!!).

Ví dụ 2

fun main(args: Array<String>) {
   var name: String?
   name = null

   // Nothing has been used to resolve overload ambiguity exception
   println(name!! is Nothing?)
}

Đầu ra

Nó sẽ ném ra một ngoại lệ con trỏ NULL trong thời gian chạy -

Exception in thread "main" java.lang.NullPointerException
at MainKt.main(main.kt:6)