我想问一下我在使用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"); }}
1 回答
![?](http://img1.sycdn.imooc.com/5333a1660001394602000200-100-100.jpg)
阿波罗的战车
TA贡献1862条经验 获得超6个赞
这取决于您认为还可以
如果您认为确定代码现在可以按预期运行,并且枚举永远不会更改,那么可以,可以说这是确定的
可能不是这种情况,因此希望具有灵活性和需求变更:
添加新颜色会怎样?您真的要说是
BLUE
吗?当颜色
null
可能代表什么时会发生什么unkown
?
对于第一个问题,您可以使用单元测试来介绍该方法。
对于第二个问题,我至少要为颜色添加一个UNKOWN
和/或一个NO_COLOR
值,并将其相应地用于else
分支。
添加回答
举报
0/150
提交
取消