【发布时间】:2012-03-30 19:13:41
【问题描述】:
在一个界面中,我以这种方式存储常量(我想知道您对这种做法的看法)。这只是一个虚拟示例。
interface HttpConstants {
/** 2XX: generally "OK" */
public static final int HTTP_OK = 200;
public static final int HTTP_CREATED = 201;
public static final int HTTP_ACCEPTED = 202;
public static final int HTTP_NOT_AUTHORITATIVE = 203;
public static final int HTTP_NO_CONTENT = 204;
public static final int HTTP_RESET = 205;
public static final int HTTP_PARTIAL = 206;
...
}
有没有一种方法可以遍历此接口中声明的所有常量?
【问题讨论】:
-
意见:枚举 do 在现代代码中提供了很多好处,强烈推荐。但并非在所有情况下。字符串在很大程度上类似于“标识符”(例如属性名称、属性键、JSF 视图 ID、JPA 命名的查询名称和查询占位符、安全角色……)。问题:字符串文字非常容易输入错误,并且没有编译时检查。我更喜欢将所有此类字符串声明为常量,通常在枚举中。但是,当将它们用作注释参数时,不允许使用枚举,并且仍然需要使用类似于您的代码的
public static final Strings。
标签: java