我想问你在使用ENUM时是否必须在开关中填写“默认”并在if语句中填写“ else”?
换句话说,编写这样的部分代码是可以的:
enum Color {
RED, BLUE
}
void whatColor(Color c) {
if(c == Color.RED) {
System.out.println("It's red");
} else {
System.out.println("It's blue");
}
}
答案 0 :(得分:1)
这取决于您认为不错
如果您认为确定代码现在可以按预期运行,并且枚举永远不会更改,那么可以,可以说这是确定的
可能不是这种情况,因此请寻求灵活性和需求变更:
BLUE
吗?null
(可能代表unkown
)时会发生什么? 对于第一个问题,您可以使用单元测试来介绍该方法。
对于第二个问题,我至少要在颜色中添加一个UNKOWN
和/或NO_COLOR
值,并将它们相应地用于else
分支。