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

我想问一下我在使用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");

    }

}


慕莱坞森
浏览 114回答 1
1回答

阿波罗的战车

这取决于您认为还可以如果您认为确定代码现在可以按预期运行,并且枚举永远不会更改,那么可以,可以说这是确定的可能不是这种情况,因此希望具有灵活性和需求变更:添加新颜色会怎样?您真的要说是BLUE吗?当颜色null可能代表什么时会发生什么unkown?对于第一个问题,您可以使用单元测试来介绍该方法。对于第二个问题,我至少要为颜色添加一个UNKOWN和/或一个NO_COLOR值,并将其相应地用于else分支。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java