Eclipseには、@Nullable
と明示的に注釈を付けない限り、すべての値が@NonNull
として扱われる@NonNullByDefault
注釈があります。IDEAに@NonNullByDefaultアノテーションがありますか?
IntelliJ IDEAには同等のオプションがありますか、または常に@Nonnull
を使用する必要がありますか?
Eclipseには、@Nullable
と明示的に注釈を付けない限り、すべての値が@NonNull
として扱われる@NonNullByDefault
注釈があります。IDEAに@NonNullByDefaultアノテーションがありますか?
IntelliJ IDEAには同等のオプションがありますか、または常に@Nonnull
を使用する必要がありますか?
いいえ、現在IDEAではサポートされていません。
オープン機能のリクエストについてのlenaのリンクallow 'NotNull' as the default element behavior for a given class or packageを参照してください。
類似の機能は、@ParametersAreNonnullByDefault
注釈と、反対の注釈@ParametersAreNullableByDefault
を含めることができるJSR-305と標準になります。 @NonNullByDefault
とは対照的に、戻り値はこれらの2つのアノテーションでカバーされていません。だから、戻り値に明示的に注釈を付ける必要がありました。
すべてが現在の状態を変更しません。 JSR-305も標準化されておらず、IDEAもそれを実装していません。
IDEAは現在@ParametersAreNonnullByDefaultをサポートしています:http://www.jetbrains.com/idea/webhelp/@parametersarenonnullbydefault-annotation.html –
^linkコメントは壊れています...これは動作します(現在は...):https://www.jetbrains.com/help/idea/2017.1/parametersarenonnullbydefault-annotation.html – Lambart
Ideaバージョン14はJSR 305 "@TypeQualifierDefault"アノテーションをサポートしています。カスタム注釈を作成して、package-info.javaファイルのパッケージ宣言で使用することができます。 (パラメータだけでなく、メソッドの戻り値、ローカル変数など)は、null値を許可しないと暗黙的に注釈が付けられます。
残念ながら、これは再帰的にサブパッケージに影響しません。したがって、各サブパッケージにはpackage-info.javaファイルが必要です。アノテーションを使用するようにそのサブパッケージを宣言してください。
は詳細と使用例については、こちらを参照してください。これは、既にアーリーアクセスプログラム(EAP)に実装されていること
http://youtrack.jetbrains.com/issue/IDEA-125281
注構築します。
代わりに '@ Nonnull'(JSR 305)ではありませんか? IDEAは '@ NotNull'を使うことができますが、これは別の注釈です。 – fge
@fgeありがとう、私はそれを修正しました。 –
ところで、その注釈はどのように使用しますか?それは静的なソースコードの分析ですか? IDEAはFindBugsを使用することができます。それにはプラグインがあります。これらの注釈を使うことに関して、私はGuiceの助言に従っています。メソッドのパラメータは、 '@ Nullable'で注釈を付けない限りnullにはなりません。しかし、それはポリシーの問題です... – fge