// ? null許容 (Nullable)
var a: String = "abc" // Regular initialization means non-null by default
a = null // compilation error

var b: String? = "abc" // can be set to null
b = null // ok


// ?. 安全呼び出し (Safe Call) 
val a = "Kotlin"
val b: String? = null
println(b?.length)
println(a?.length)	// 不必要な安全呼び出し


// !! Not-Null Assertion Operator
// Nullableな変数を強制的にNon-Nullに変換。もし変数がnullだった場合は、例外が発生するので注意
// NPE-lovers の為の演算子? Null の時は、例外を発生させたいと言う強い意志を持って使う
var a: Int? = 1
a = null
val b = a!!.toString()
// java.lang.NullPointerException


// ?: エルビス演算子(Elvis Operator)
var a: String? = "Hello"
a = null
val b: String = a ?: "1234567890"
println(b?.length)	// print 10

 

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

© 2024 Falco Tech Blog Suffusion theme by Sayontan Sinha