【发布时间】:2014-09-17 22:15:31
【问题描述】:
我有以下代码:
public class A {
private String type;
String getType() { return type;}
}
现在在很多代码地方我都有这样的代码
switch (a.geType()) {
case "A" : return new Bla();
case "B" : return new Cop();
}
或其他地方
switch (a.geType()) {
case "A" : return new Coda();
case "B" : return new Man();
}
(请注意,我知道我应该在生产代码中使用枚举)。
我想要实现的是,当向 A 类添加新类型时,编译器应该标记所有需要调整的 switch 语句?
有没有 java 惯用的方法来做到这一点?
【问题讨论】:
-
如果你使用枚举,我很确定 java 确实会标记不处理该条件的 switch 语句,只要 switch 没有
default条件。跨度> -
我刚试了一下。它不会立即标记缺少的枚举
-
当我这样做时,我在 Eclipse 中收到警告。它可能不是 java 编译器本身的一部分。
标签: java design-patterns java-8