如果我有一个Long(而不是基元(,将其转换为字符串的最佳方法是什么。我所说的最好,是指最快。
目前,我正在做这件事。
Long testLong = 123456L;
return new StringBuilder()
.append(PREFIX)
.append("_")
.append(testLong)
.toString();
String.valueOf(testLong)
还是testLong.toString()
更好?
.append(testLong)
调用.append(String.valueOf(testLong))
。
.append(String.valueOf(testLong))
调用.append((testLong == null) ? "null" : testLong.toString())
.append(testLong.toString())
调用.append(Long.toString(testLong.value))
(其中value
是盒装的long
(,后者创建new String
.append(testLong.longValue())
不创建新的String
,而是直接写入StringBuilder
字节数组。
因此,后者是最快的,如果你知道Long
永远不会是null
:
Long testLong = 123456L;
return new StringBuilder()
.append(PREFIX)
.append("_")
.append(testLong.longValue())
.toString();