一尘不染

是否有“最快的方式”在Java中构造字符串?

java

我通常通过以下方式在Java中创建一个String:

字符串foo =“ 123456”;

但是,我的讲师向我坚持说,使用该format方法形成String 如下:

String foo = String.format(“%s”,123456);

快很多。

他还说,使用StringBuilder类甚至更快。

StringBuilder sb = new StringBuilder();
字符串foo = sb.append(String.format(“%s”,123456))。toString();

如果有 一个,创建字符串的最快方法是哪 一个

它们可能不是100%准确的,因为我可能不太记得它们。


阅读 131

收藏
2020-12-03

共1个答案

一尘不染

如果只有一个字符串,则:

String foo = "123456";

是最快的。您会注意到该String.format行已"%s%"在其中声明,因此我看不到讲师怎么可能认为这更快。另外,您还有一个方法调用。

但是,如果您要在一段时间内构建字符串(例如在for循环中),则需要使用StringBuilder。如果您只是使用它,+=那么
每次+=调用该行时都在构建一个全新的字符串。StringBuilder更快,因为它拥有一个缓冲区,并在每次调用时追加到该缓冲区append

2020-12-03