hildsoftのコード置き場

プログラム関連で調べたことやコードの保管場所です

Kotlinメモ

スポンサーリンク

Kotlin独自の文法やイディオムを忘れやすいので自分用のメモです

f:id:hildsoft:20180731034211j:plain


公式サイト 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行に書いても大差ないですし、 代入以外で三項演算子を使っても可読性が落ちる場合が多いので、特に問題は無いでしょう。