将Long转换为字符串的最有效方法



如果我有一个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();

相关内容

  • 没有找到相关文章

最新更新