Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

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

Giới thiệu

!! gọi là double-bang operator hay not-null assertion operator. Ép giá trị thành non-null, ném NullPointerException nếu giá trị là null.

Ví dụ 1: Không dùng !!

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

Ví dụ 2: Dùng !!

fun main(args: Array<String>) {
    var name: String? = null
    println(name!! is Nothing?) // ném NPE tại runtime
}

Kết quả

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

Cảnh báo: Chỉ dùng !! khi chắc chắn giá trị không null (sau kiểm tra). Lạm dụng gây crash app.