枚举values()。length与私有字段

枚举values()。length与私有字段,第1张

枚举values()。length与私有字段

values().length
每次调用时,using
将创建该数组的新副本。有时我会创建自己的
List
(或设置或映射,无论需要什么)以避免这种无意义的复制。不过,我 不会对其进行
硬编码…如果您只需要大小,则可以使用:

private static final int size = Configuration.values().length;

在末尾。到评估时,所有值都将被初始化。这避免了其他答案中引起的DRY和不一致问题。

当然,这本身就是微优化的一部分……但是最终以 更简单的
代码IMO结束了。

values().length
从其他地方进行调用并不能表示您感兴趣的内容,而 只是 表示枚举的大小-
IMO通过一系列值来获得它的事实是偶然的并且会分散您的注意力。

使用的一种替代方法

values()
是将
EnumSet.allOf().size()
其用于小枚举将非常便宜-
但同样,它不像具有
size
字段那样可读。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5091796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存