Kotlin独自の文法やイディオムを忘れやすいので自分用のメモです
公式サイト Kotlin Programming Language
nullかどうか判断して実行
// Java: extrasがnullの場合、intValueに初期値0を設定する int intValue = 0; if(intent.extras != null) { intValue = intent.extras?.getInt("key_intAAA"); }
// Kotlin: extrasがnullの場合、intValueに初期値0を設定する val intValue = intent.extras?.getInt("key_intAAA") ?: 0
extrasがnullの場合だとgetIntでNullPointerExceptionになるので、安全呼び出し演算子(?.)でnullかどうかチェックしつつ実行し、 nullの場合はエルビス演算子(?:)でチェックして初期値を使用します。
三項演算子
// Java: 小さい方の値を取得 int a = 5; int b = 10; int minValue = a < b ? a : b;
// Kotlin: 小さい方の値を取得 val a = 5 val b = 10 val minValue = if (a < b) a else b
Kotlinには三項演算子が無いので、素直にif文を書いた方が良さそうです。
if文で値を返すことができるので、代入程度なら1行に書いても大差ないですし、 代入以外で三項演算子を使っても可読性が落ちる場合が多いので、特に問題は無いでしょう。