String.valueOf(long a)和连接(""+ a)之间的区别

Sri*_*esh 2 java

哪种方法更好,为什么?

如果我写

cmissValue = String.valueOf(callDBDatasource.cMiss());
Run Code Online (Sandbox Code Playgroud)

要么

cmissValue = "" + callDBDatasource.cMiss();
Run Code Online (Sandbox Code Playgroud)

该方法应该是什么?

Luk*_*uth 8

"" + callDBDatasource.cMiss();
Run Code Online (Sandbox Code Playgroud)

将编译为:

new StringBuilder().append("").append(callDBDatasource.cMiss()).toString();
Run Code Online (Sandbox Code Playgroud)

这将创建一个新对象,因此速度明显变慢.看到这个问题:字符串连接真的那么慢吗?