gpt4 book ai didi

java - 编译器何时不隐式使用 StringBuffer/StringBuilder?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:38 25 4
gpt4 key购买 nike

我听说编译器(或者是 JVM?)会自动使用 StringBuilder 进行一些字符串连接。什么时候才是明确宣布的合适时机?我不需要 StringBuffer 来实现线程安全。

谢谢。

最佳答案

编译器会自动将它用于任何使用“+”的字符串连接。

如果你想在一个循环中连接,你通常会显式地使用它。例如:

StringBuilder builder = new StringBuilder();
for (String name : names)
{
builder.append(name);
builder.append(", ");
}
if (builder.length() > 0)
{
builder.setLength(builder.length() - 2);
}
System.out.println("Names: " + builder);

另一种情况是您想通过多种方法构建一个字符串,或者可能对构建的某些部分进行条件化。基本上,如果您不是在单个语句中构建字符串(编译器可以帮助您),您至少应该考虑使用 StringBuilder

关于java - 编译器何时不隐式使用 StringBuffer/StringBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com