gpt4 book ai didi

java - 在 Java 中使用 + 连接字符串

转载 作者:太空狗 更新时间:2023-10-29 23:01:49 26 4
gpt4 key购买 nike

我有一个巨大的字符串如下:

String str = "aaaaaaa" 
+ "bbbbbbbb"
+ "cccccccc"
....

+ "zzzzzzzz"; // about 200 lines long

内存浪费大吗?将它放在一行中或使用 StringBuilder 会更好吗?这样做是为了创建一个长 sql。

最佳答案

没有。如果您的所有字符串都是常量(因为它们在您的问题中),编译器将在编译时 执行连接。所以这最终比 StringBuilder 版本表现更好

否则它将使用 StringBuilder(或 StringBuffer)执行任何非常量部分的连接。

所以编译后的版本:

String x = "a" + "b";

应该完全与:

String x = "ab";

请注意,“非常数”部分可能意味着您有时可以明智地使用包围获得(非常小的)额外效率。例如:

int value = ...;
String x = "a" + value + "b" + "c";

...效率低于:

int value = ...;
String x = "a" + value + ("b" + "c");

... 作为第一个,分别附加 "b""c"。高效版本等同于:

int value = ...;
String x = "a" + value + "bc";

我不记得曾经看到它被用作合法的微优化,但它至少是一个兴趣点。

关于java - 在 Java 中使用 + 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219837/

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