LoginSignup
1
1

More than 3 years have passed since last update.

kotlinでNULLチェックインライン関数を作る

Last updated at Posted at 2020-02-17

KotlinのNullチェックはまさに神だと思います。

v ?: return

Javaで書くとこういうことです。

if (v == null) {
  return
}

これに対して、NotNullチェックは特に用意されていないのです。
つまり、

if (v != null) {
  return
}

と、Javaのような書き方をしないといけません。

気にならない人は気にならないかもしれませんが、NullチェックとNotNullチェックが並んでいて、且つ頻繁に変更されることがあるとしたら、都度面倒な修正をしないといけないので、上記のような書き方ではちょっと嫌になります。

インライン関数の登場

自分好きな名前でインライン関数を作成してみましょう。

private inline fun <T> ifNotNull(p: T?, f: () -> Unit) {
    if (p != null) f()
}

private inline fun <T> ifNull(p: T?, f: () -> Unit) {
    p ?: f()
}

すると、下記のように同じフォーマットで書くことができます。

ifNull(aa) {}
ifNotNull(bb) {}
ifNull(cc) {}

NullチェックとNotNullチェックを変更する時は、メソッド名を変えるだけで、簡単に処理を切り替えることができます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1