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.