Kotlinには、値がnullでない場合にのみ変数に値を割り当てるクリーンな方法がありますか?
例は次のとおりです。
if(x != null)
y = x
私は次のような解決策を見つけました
y = x? : return
しかし、これが私が望むことをするかどうか、そしてこの演算子がどのように機能するかを理解することはできません。
演算子は、エルビス演算子と呼ばれます。 x
がnullでないかどうかを評価し、それが真の場合、x
をy
に割り当てます。 nullの場合、疑問符の後のステートメントを評価し、すぐに戻り、したがってy
をそのままにします。
まだ関数から戻りたくない場合の別の解決策:
x?.let{ y = it }
x
が非nullかどうかを確認し、それをラムダブロックへの唯一のパラメーターとして渡します。
これは、x
がvar
である場合の安全な呼び出しでもあります。