2009-03-10 23 views
3

どちらが良いですか? AnnotationConstantsは、典型的な定数クラスです注釈の定数クラスを作成する必要がありますか?

  1. @SuppressWarnings("unchecked")
  2. @SuppressWarnings(AnnotationConstants.UNCHECKED)

...

public final class AnnotationConstants { 
    private AnnotationConstants() { } 

    public static final String UNCHECKED = "unchecked"; 

    ... 
} 

私は定数のと反対の一般的な引数がたくさんあることを知っているクラス - - それはまさに私が何であるかではないに興味があります。 nstantsクラス具体的にはアノテーションは良いアイデアや悪い考えです。

答えて

6

この場合、特定のの例ではリテラルを使用します。結局のところ、警告を抑止しようとしています。間違ったリテラルを使用すると、警告は抑制されず、問題に注意を喚起します。

0

@SuppressWarningなどについては、そうは思わない。可能であれば、定数を直接記述し、コンパイラにチェックさせることをお勧めします。 Eclipseはこれで素晴らしい仕事をしています。

3

もう少し言ってください。春に

、あなたは私が常に定数クラスを使用して言うと思いますので、注釈への行動の特定の種類を添付した、@Scope(Scopes.SESSION)または@Scope(Scopes.REQUEST)のようなものを言うことができますこれはトレーサビリティに優れています。

警告を覚えているだけであれば、実際にこれをトレースする可能性はほとんどないので、そのままリテラルにしてください。

2

私はSuppressWarningsためHolsamに同意するだろう - あなたはあなた自身の注釈を書いている場合は、私は可能な限り定数

の集合として表すことができるもののためUSNG列挙型をお勧めしたい文字列に

を使用

+0

私はenumsを使う考えが好きです。 +1。 –

関連する問題