問題タブ [non-nullable]

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.

0 投票する
1 に答える
748 参照

java - TreeMapのEclipseネオンで「Null type safety」警告を取り除く方法

このコード例の警告を取り除く方法。

Java 1.8 および org.eclipse.jdt.annotation_2.1.0 で Eclipse Neon を使用しています。

警告は次のとおりです。

@Nullable と @NonNullable のいくつかの組み合わせを試しました。? extendsここで同様のケースで提案されたとしても: https://bugs.eclipse.org/bugs/show_bug.cgi?id=507779

ただし、警告は常に移動するだけで、完全に消えることはありません。

アップデート:

次の行を使用して警告を取り除きました。

しかし、なぜ私は完全に迷っています。私はバリデーターをだまして追跡を失うか何かをしているように思えますが、コードは本当に醜くなり始めています。

完全な新しいコード:

Update 2 Shorty が間違ったコードを貼り付けました。

0 投票する
1 に答える
13952 参照

java - 実行時に @Nonnull アノテーションがチェックされるのはなぜですか?

次の署名を持つ関数があります

param を null として呼び出すと、次の例外が発生します。

javax.annotation.Nonnull は、実行時にチェックされないはずです。

実際に例外をスローするのは誰で、その理由は?

PS私は、Oracle JDK 1.8.0_102を使用してIntelliJ IDEA 2016.3からTomcatサーバーをデバッグモードで実行しています

0 投票する
2 に答える
1753 参照

java - コレクションを持つ @NonNull を持つ戻り値の型を持つ Java ジェネリック

コレクションに null メンバーがないことを確認し、@NonNull アノテーション付きの型を返す汎用関数を Java8 に実装したいと考えています。

入力タイプ: T は Collection を拡張します。ここで、T+U は null 許容です。
結果の型: @NonNull T、@NonNull U

配列の場合、これは次のようになります。

しかし、コレクションの場合、結果の型が入力の型と同じであることを定義する方法がわかりませんが、コレクションと要素の型には @NonNull 注釈があります。
これは私がやりたいことですが、有効な構文ではありません:

手伝ってくれますか?

0 投票する
2 に答える
2083 参照

flowtype - フロー内の非 null および非未定義の型

フローは、いわゆる"Maybe types"を定義します。つまり( is a type of value )?stringに似ています。string | null | voidvoidundefined

nulland以外の任意の値を持つことができる一般的なタイプのようなものはありundefinedますか? 基本的に$Diff<$Diff<any, null>, void>if $Diffoperator が非オブジェクト型を操作できたようなものです。

0 投票する
1 に答える
2022 参照

annotations - Kotlin コンパイラの Java で型パラメータに注釈を付ける

Javaでは、次のメソッドがあります。

Kotlin コードでは、このメソッドの戻り値の型は として指定されOptional<Foo!>!ます。注釈を使用することで、これを@Nonnull削減できますOptional<Foo!>(つまり、Foo型だけが null チェックされなくなります)。

Kotlinコンパイラが戻り値を正しくnullチェックするようにメソッドに注釈を付ける方法はありますか?