【发布时间】:2015-03-12 20:15:14
【问题描述】:
如果我使用enum 来确定任务的类型。
public enum TaskType {
TYPE_ONE("Type1"),TYPE_TWO("Type2"),TYPE_THREE("Type3");
private final String type;
private StageType(String type) {
this.type = type;
}
@Override
public String toString() {
return type;
}
}
如何在我的应用程序中保证某一时刻
if(taskType == TaskType.TYPE_ONE) {
typeOneProcessing();
} else if(taskType == TaskType.TYPE_TWO) {
typeTwoProcessing();
} else if(taskType == TaskType.TYPE_THREE) {
typeThreeProcessing();
}
每个enum 值都被使用了吗?
我的意思是如果有一天我需要添加一个新的 TYPE_FOUR,我需要在我的代码中找到我使用 enum 的每个地方,所以我问自己是否有更好的方法来避免 enum并使用其他一些概念,或者我可以确保enum 的每个值都在该代码段中使用。
【问题讨论】:
-
在 Eclipse 中检查引用。
-
我们可以假设每个
typeXProcessing在任何地方都是相同的吗?如果是这样,最好将它放在每种类型中并调用类似taskType.process()的东西。