私はこれらのアノテーションのうちどれを使用しますか? INTELLIJは注釈付きの独自の図書館を導入しました。私は、メソッドパラメータとクラスattrbiutesをこれらの注釈でマークすることは実用的ですが、彼らが何をしているのだろうと思います。注釈付きのライブラリがたくさんあります(春にもNullableのようなアノテーションがあります)。 Javaxアノテーションは、特定のクラスを検証するhibernateバリデーターによって実装されますが、メソッドの属性についてのみremellまたは警告するINTELLIJアノテーションは実装されていません。すべての注釈は、実行時にchekcedされているのIntelliJ注釈@NotNull javaxアノテーションとIntellij @NotNullアノテーション
public class XYZ{
@NotNull
private int id;
@Nullable
private String z;
@NotNull
private String y;
} と
public void method(@NotNull String a,String b)
{
...
}
を持つクラスを持っている@NotNullパラメータはnullになります場合、私は、何がのIntelliJを行うだろうと言うことができますか?それは、何かエラーやそれのような何かをスローしません、私に警告するだけで、それはなぜ私の役に立つことができますか?私は、自分のコードを読んでみる人にとっては、もっと役に立つと思う。
私のユーザーにManyToManyリレーションがある場合の別の例では、@ Nullableとしてマークする必要がありますか?新しいユーザーを作成したときに毎回nullになるので、必要ではありませんか?
可能な限り標準を使用しますが、 'Nullable'と' NotNull'という奇妙な歴史のため、実際には単純な名前*をチェックし、パッケージに関係なく 'NotNull'という名前の注釈をすべて扱います。具体的なツールのドキュメントを見て、それらの解釈方法を確認してください。 – chrylis