Kotlin - requireNotNull、require

公開日:2019-11-06 更新日:2019-11-20
[Kotlin]

1. 概要

requireNotNull、require についてです。
IllegalArgumentException を発生させるため、
関数の引数のチェックとして使うと良いと思います。

checkNotNull、check との違いは、発生する例外です。


2. requireNotNull

値が Null の場合に例外を発生させ、Null でない場合は、Null非許容型にして返します。

fun getLength(value:String?): Int {
    val value2 = requireNotNull(value) { "Nullです。" }
    return value2.length // NOT NULL が保証されているので、「?.」を使わなくて良い
}

println( getLength("Hello") ) // 5
println( getLength(null) )    // IllegalArgumentException が発生


3. require

指定された条件を満たさない場合に例外を発生させます。

fun getLength(value:String?): Int {
    require(value != null) { "Nullです。" }
    return value?.length
}
println( getLength("Hello") ) // 5
println( getLength(null) )    // IllegalArgumentException が発生