我最近遇到了以下示例:
CommandKey key = command.getKey();
switch(key.ordinal()) {
case 1:
return IncidentType.StatusChange;
case 2:
return IncidentType.Notification;
...
关键是枚举。
是否有任何人为什么这样做的原因,因为这似乎会使代码变得不必要地脆弱?枚举列表值的更改可能会破坏映射逻辑并导致错误的返回类型。
我看到的唯一可能的好处是性能会有所提高,这在服务器具有高吞吐量的情况下可以证明采用的方法是合理的。
是否有任何可能的性能提升值得,并且我没有意识到其他任何优势?
有一个很好的理由反对它。序号可以随时更改,而不会破坏二进制兼容性。名称完全不能更改。
更好的解决方案是将返回的值构建到Enum
自身中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句