是否有重大理由在转换案例中使用枚举的序数而不是使用枚举?

阿迪金森

我最近遇到了以下示例:

CommandKey key = command.getKey();
    switch(key.ordinal()) {
    case 1:
        return IncidentType.StatusChange;
    case 2:
        return IncidentType.Notification;
    ...

关键是枚举。

是否有任何人为什么这样做的原因,因为这似乎会使代码变得不必要地脆弱?枚举列表值的更改可能会破坏映射逻辑并导致错误的返回类型。
我看到的唯一可能的好处是性能会有所提高,这在服务器具有高吞吐量的情况下可以证明采用的方法是合理的。

是否有任何可能的性能提升值得,并且我没有意识到其他任何优势?

洛恩侯爵

有一个很好的理由反对它。序号可以随时更改,而不会破坏二进制兼容性。名称完全不能更改。

更好的解决方案是将返回的值构建到Enum自身中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章