0
私はサードパーティライブラリ(java)のインターフェイスを実装しています。私は、次のシグネチャを持つ関数をオーバーライドしています:kotlinのオーバーライドされた関数のパラメータのNULL可能性を変更します
override fun onCallback(name: String?) {
}
私は、コンパイラ文句なしに次のように変更することができます。
override fun onCallback(name: String) {
}
この効果は?基礎となるライブラリがonCallback(null)
を呼び出すとどうなりますか?
OKああ、(私が聞きます他の週にはプラットフォームの種類に関する話をしました、私の脳は接続していませんでした)私はいくつかの希望的な考え方を適用したと思います。私はちょうど関数に一致しない呼び出しが無駄にフィルタリングされることを望んでいた...私は今nullcheckを避ける方法を見ないでください.- ' – Adam
あなたがそれをしたい場合は、パラメータにnull可能な型関数の最初の行に 'name?:return'を追加します。パラメータは本質的に 'val'sなので、関数の残りの部分ではnullでない型にスマートキャストされます。 – zsmb13