|
|
1
78
测试了10万个数字作业
一个似乎赢了
java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b06-284) Java HotSpot(TM) Client VM (build 1.5.0_16-133, mixed mode, sharing) 更多编辑: 按要求编码
案例2和案例3类似
|
|
|
2
37
即使根据
measurements of cobbal
,#1似乎是最快的,我强烈建议使用
|
|
|
3
8
前两个示例实际上是相同的,因为String.valueOf(int)使用Integer.toString(int)方法。第三种是丑陋的,而且可能效率较低,因为在Java中连接速度较慢。 |
|
|
4
8
看看JRE的源代码,您可能会看到其中的区别。或者没有。 事实上,Strinv.valueOf(int foo)的实现如下:
和整数.toString(int foo,int基数)
concat解决方案首先将int值转换为字符串,然后与空字符串连接。这显然是最昂贵的案例。 |
|
5
5
尽管根据cobbal的测量结果,#1似乎是最快的,但我还是强烈建议使用Integer.toString()。我这样做的原因是,这个调用显式地包含了参数的类型,所以如果以后决定将它从int改为double,很明显这个调用已经改变了。如果是二进制格式,你也会这么做,不是吗?与#2相比#1的速度增益非常小,我们都知道,“过早优化是万恶之源”。 |
|
|
6
3
所以
|
|
|
7
0
我的 JDK 11的微基准测试结果非常不同 ,并且完全没有内存使用/分配差异:
我实际上 wrote this microbenchmark 搔痒 a different question ; 一位评论员建议我也在这里发表文章。要复制的代码(也来自该帖子)如下所示:
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |