【发布时间】:2015-04-15 12:34:33
【问题描述】:
我们有一个异常 A 类,其中有几个错误代码定义为 public static final,并且在我们的源代码中的许多文件(超过 100 个)中都引用了它。
我们想要 B 类中的所有这些故障代码进行一些处理。
目前我们在 A 类中实现了一个名为 getFaultCodes() 的方法来构建故障代码列表并返回相同的代码。这种方法的问题在于,每当引入故障代码时,它也必须添加到getFaultCode 方法中。这很容易出错,因为用户可能会忘记将新代码添加到方法中。
将这些故障代码移动到 enum 下需要更改整个源代码中的许多文件,因此我们不希望这样做。
class ExceptionA {
public static final String faultCode1 = "CODE1";
public static final String faultCode2 = "CODE1";
public static final String faultCode3 = "CODE1";
List<String> getFaultCodes(){
list.add(faultCode1);
......
return list;
}
}
我们正在考虑使用反射,但我在此论坛上发帖只是为了检查是否有更好的解决方案。请提供解决此问题的建议。
【问题讨论】:
-
@cyber_rookie 虽然有人使用反射:P
-
我不会将其称为重复项,因为 OP 知道将反射作为解决方案。他要另一个
-
没有反射是不可能的。
-
在 SO 上有很多人对重复项感到很痒。是否有比赛可以成为第一个发布它的人?
标签: java