Integer x=500;
1.String str=""+500;
2.String str=String.ValueOf(x)
1和2 哪个效率高?
另外,问一个从1累加到n的操作。最高效的方法是什么?
多谢多谢
------解决方案--------------------
2 效率高。
至于累加,难道不该用等差数列的计算公式吗??
(1 + n)× n / 2
如果n很大会导致越界,考虑BigInteger
------解决方案--------------------
对不起,纠正一下。
1 快。
如果""+500两边都是常量,会被直接编译成“500”这个静态的字符串。
但是,如果加号两边任何一个是动态值(比如函数调用)的话,那么使用+拼接,会导致StringBuilder的隐式参与
最终执行的代码是
String str = new StringBuilder(左边).append(右边).toString();