|
|
1
16
同时,如果您担心调用
所以,说真的,
别担心。
而是集中于代码的可读性,并使用
如果您想知道为什么枚举比较可能比字符串比较快,那么下面是详细信息:
这取决于弦是否
interned
或者没有。为了
对于字符串,如果字符串已被实习,则比较速度与
但是,这可能并不重要,即使在必须快速执行的swing呈现代码中也是如此。-)
@本林斯指出
|
|
|
2
14
对于枚举,为了保持不变性,它们会在每次调用values()方法时克隆后备数组。这意味着它将对性能产生影响。多少取决于你的具体情况。 我一直在监控自己的android应用程序,发现这个简单的调用 13.4% CPU time! 就我的具体情况而言。 为了避免克隆values数组,我决定将这些值简单地缓存为私有字段,然后在需要时循环遍历这些值:
经过这个小小的优化之后,我的方法调用只占用了一个微不足道的 0.0% CPU time 在我的用例中,这是一个受欢迎的优化,但是,需要注意的是,使用这种方法是对枚举的可变性的权衡。谁知道一旦你给人们一个参考,他们会把什么放进你的价值观数组中呢!? |
|
|
3
2
作为经验法则:在考虑优化之前,您是否知道这段代码可能会减慢应用程序的速度? 现在,事实。 枚举在很大程度上是散布在编译过程中的语法糖。因此,为枚举类定义的values方法返回一个静态集合(也就是说,在类初始化时加载),其性能可以被认为大致等同于数组1。 |
|
|
4
2
如果你关心的是表现,那么衡量一下。
从代码来看,我不希望有任何意外,但90%的性能猜测是错误的。如果希望安全,请考虑将枚举上移到调用代码中(即
|
|
|
5
2
使用此:
|
|
|
6
1
如果迭代枚举值只是为了查找特定值,则可以静态地将枚举值映射为整数。这将推送对类负载的性能影响,并使基于映射参数获取特定枚举值变得简单/低影响。
|
|
|
7
-1
我想是的。使用常数更方便。 |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 2 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 2 年前 |