問題タブ [kotlin-null-safety]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - Kotlin null 安全?
foo
関数とクラスを用意しましょうBar
:
それでは、コードを見てみましょう:
問題は、このコードがコンパイルされないことです。が必要なのでBar(x!!, y!!)
。
ただし、関数をその内容に置き換えると、!!
必要ありません。
関数から null チェックを解決できないのはなぜ.isNotEmpty()
ですか?
kotlin - Kotlin で null 許容または空のリストを処理する慣用的な方法
activities
typeの変数があるとしますList<Any>?
。リストが null でも空でもない場合は、何かを行いたいと考えています。それ以外の場合は、別のことを行いたいと考えています。私は次の解決策を思いつきました:
Kotlinでこれを行うためのより慣用的な方法はありますか?
android - Kotlin - lateinit VS Any? = ヌル
Kotlin では、オブジェクトの作成後に null およびインスタンス化できるオブジェクト内の変数を宣言する 2 つの方法があるようです。
また
var を null 可能にして後で割り当てることができるのに、なぜ lateinit キーワードが必要なのか、私は混乱しています。各方法の長所と短所は何ですか?また、それぞれをどのような状況で使用する必要がありますか?
reflection - kotlin リフレクション チェック null 許容型
KType 変数が null 許容の kotlin 型 (eG Int?) の値を保持しているかどうかをテストするにはどうすればよいですか?
私は持っている
a からの変数でKProperty<*>.returnType
あり、それが特定の kotlin タイプ (Int、Long など) と等しいかどうかを検出する必要があります。これは以下で動作します:
しかし、これは null 非許容型に対してのみ機能するため、最初のブランチは Int に一致しませんか? ただし、タイプが Int であることを検出する方法をまだ理解できませんでしたか? それ以外は明らかですが、それほど良くありません
kotlin - Kotlinでnullチェックを行う最良の方法は?
double=
または tripleを使用する必要があります=
か?
また
同様に「等しくない」の場合:
また
kotlin - Map(Kotlin)で動作するNullポインタ例外
私は次のクラスを持っています:
クラス エントリは次のようになります。
主要:
プログラムを実行して「定義」機能を使用しようとすると、次のエラーが発生します。
問題は新しい symbolTable クラスの作成方法に関係していると思いますが、Kotlin には「new」がないため、null ポインター例外を回避する方法がわかりません。
java - Android アクティビティで Kotlin 拡張関数を使用して null チェックを適切に行う方法
私は Kotlin を初めて使用し、既存のコードベースにある多くの Android Util メソッドの 1 つを Kotlin 拡張関数に変換しようとしています。
これはコトリンコードです:
これは、次の Java メソッドに相当するものです。
ただし、 anが であるときはNPEs
いつでも Kotlin コードを取得しています。私が間違っているところについて何か考えはありますか?Activity
null
kotlin - Kotlinでnullでも空でもない文字列を慣用的にテストする方法は?
私は Kotlin を初めて使用します。次のコードをよりエレガントに書き直すための助けを探しています。
次のコードを使用する場合:
コンパイラは不平を言うでしょう
ありがとう。
gson - Kotlinはnull不可の値をnullにすることができますか?
私はいくつかのjsonを返すバックエンドを持っています。
私はそれを自分のクラスに解析します:
gson コンバータ ファクトリを使用します。
そして私のインターフェースでは:
次に、エラーなしで (rxJava を使用して) サーバーからデータを取得します。しかし、次のようなことをする必要があると思ったので、エラーが発生することが予想されました ( notNullableValue
JSON 応答に存在しないため、GSON コンバーターのエラーを防ぐため):
データがバックエンドから受信され、def 値のないコンストラクターで SomeData クラスに解析された後、notNullableValue == nullの値。
私が理解しているように、Kotlinではnull許容値をnullにすることはできませんか?
lambda - このnull不可の値が「null可能」になるのはなぜですか?
だから私は単純なコールバッククラスを持っています:
ここで、エラーを処理するメソッドを実装したいと考えています。callback
呼び出す必要がある がある場合とない場合があります。
これによりエラーが発生します:
参照には、代わりに関数のような呼び出しを行うため
((Throwable) -> Unit)?
に明示的に使用される null 許容型があります。?.invoke()
期待しているように見えるのは
その理由がよくわかりません。nullではないという事実callback
は、null 以外のonError
関数が存在しなければならないことを導き出すのに十分ではないでしょうか?
けがに侮辱を加えるために、私が書くなら
その後、それを受け入れますが、そうすべきだと警告する前ではありません
冗長な
.let
呼び出しを削除