gpt4 book ai didi

java - 在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换 "this string"+ "should"+ "be"+ "joined"以获得最佳实践?

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

在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换“this string”+“should”+“be”+“joined”以获得最佳实践?

最佳答案

1) 像 "this string"+ "should"+ "be"+ "joined" 这样的常量表达式 (JLS 15.28) 不需要 StringBuilder 因为它是在编译时计算成一个字符串 “这个字符串应该加入”

2) 对于非常量表达式,编译器将自动应用 StringBuilder。也就是说,"string"+ var 等同于 new StringBuilder().append("string").append(var).toString();

我们只需要在动态构造字符串的地方显式使用 StringBuilder,就像这里一样

    StringBuilder s = new StringBuilder();
for (String e : arr) {
s.append(e);
}

关于java - 在 Java 1.7+ 上,我们是否仍需要使用 StringBuffer.append 转换 "this string"+ "should"+ "be"+ "joined"以获得最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641998/

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