3

哪个更好?

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

AnnotationConstants典型的常量类在哪里...

public final class AnnotationConstants {
    private AnnotationConstants() { }

    public static final String UNCHECKED = "unchecked";

    ...
}

我知道有很多支持和反对常量类的一般论点——而这正是我感兴趣的。我想知道专门用于注释的常量类是个好主意还是坏主意。

4

4 回答 4

6

对于这个具体的例子,我会坚持使用文字。毕竟,你是在试图抑制警告——如果你使用了错误的文字,警告将不会被抑制,这会引起你对问题的注意。

于 2009-03-10T17:57:36.213 回答
3

请我说两句。

在 Spring 中,您可以说 @Scope(Scopes.SESSION) 或 @Scope(Scopes.REQUEST) 之类的东西,它会将特定类型的行为附加到注解中,因此我会说始终使用常量类,这有利于可追溯性.

如果您只是抑制警告,那么您几乎不可能真正追踪到这一点,所以只需使用文字即可。

于 2009-03-10T18:08:10.167 回答
2

我同意 Holsam 的 SuppressWarnings - 使用字符串

如果您正在编写自己的注释,我建议在可能的情况下使用枚举来表示可以表示为一组常量的事物

于 2009-03-10T19:58:04.863 回答
0

对于@SuppressWarning和喜欢,我不这么认为。我更喜欢直接编写常量,并尽可能让编译器检查它们。Eclipse 在这方面做得很好。

于 2009-03-10T17:56:24.157 回答