为了账号安全,请及时绑定邮箱和手机立即绑定

我是否需要担心使用ENUM的默认操作?

我是否需要担心使用ENUM的默认操作?

慕莱坞森 2021-04-09 14:11:34
我想问一下我在使用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 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

这取决于您认为还可以

如果您认为确定代码现在可以按预期运行,并且枚举永远不会更改,那么可以,可以说这是确定的

可能不是这种情况,因此希望具有灵活性和需求变更:

  • 添加新颜色会怎样?您真的要说是BLUE吗?

  • 当颜色null可能代表什么时会发生什么unkown

对于第一个问题,您可以使用单元测试来介绍该方法。

对于第二个问题,我至少要为颜色添加一个UNKOWN和/或一个NO_COLOR值,并将其相应地用于else分支。


查看完整回答
反对 回复 2021-04-14
  • 1 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信