2017-12-30 71 views
2

私はAndroidStudioまたはIntelliJ IDEAを使用しているAndroidデベロッパーです。様々な質問@NonNull、@NotNull、@ParametersAreNonnullByDefault

私は私のIDEを信頼する傾向があり、私は次の事実とイライラだ:アンドロイドプロジェクトで

  1. IDEの両方のIDEが@NotNull代わりの@NonNullを使用して、その後Kotlinクラスを拡張するJavaのメソッドを自動生成する場合があり、これを設定する?この
  2. 私は@ParametersAreNonnullByDefaultを持っていますが、私はポイント1からメソッドをオーバーライドし、注釈IDEは私に警告しますが、なぜですか?

私は間違っていますか? ソリューションはありますか?

+0

注釈の追加についてこの記事をチェックしましたか:https://developer.android.com/studio/write/annotations.html?また、 "設定|エディタ|検査 - Java - 考えられるバグ - 定数条件と例外"と "設定|エディタ|検査 - Java - 考えられるバグ - @ NotNull/@ Nullableの問題" –

+0

をチェックしてください。それが期待どおりに見えることを確認してください。しかし、2つのケースは同じです –

答えて

1

[設定/環境設定]ダイアログの[コンパイラ]ページで、[アノテーションの設定...]にnull/not-nullに使用するアノテーションを設定します。必要なものを選択し、チェックマークボタンを押します。詳細については、https://www.jetbrains.com/help/idea/nullable-notnull-configuration-dialog.htmlを参照してください。

IDEA/ASがすでに別のメソッドを使用しているメソッドをオーバーライドするときにIDEA/ASがそこからデフォルトアノテーションを使用しているかどうかは今はテストできませんが、チケットを登録する必要はありません。

+0

IDEA 2017.3.2にそのオプションがありますが、AS 3.1 canary 6には存在しません:( – MyDogTom

+0

IDEAでは表示されていますが、ASでは表示されません。 Kotlin抽象クラスメソッドを実装するメソッドを生成する –

関連する問題