【发布时间】:2017-04-19 08:05:46
【问题描述】:
我遇到了性能问题。有没有人有更快/更好的解决方案来执行以下操作:
String main = "";
for (String proposition : propositions) {
if (main.length() == 0) {
main = proposition;
} else {
main = "|(" + proposition + "," + main + ")";
}
}
我知道 concat 和 stringbuilder 更快,但我不知道如何使用这些方法。因为下面这行代码:
main = "|(" + proposition + "," + main + ")";
提前致谢!
【问题讨论】:
-
你想达到什么目的?您的预期结果是什么?
-
@AndrewTobilko 他想要一种更快的方法来提高性能。
-
您是否尝试过插入 StringBuilder? docs.oracle.com/javase/7/docs/api/java/lang/… 或在迭代之前反转
propositions,那是否只允许您追加? -
proposition.length()可以为零吗?向后循环可能更容易使用StringBuilder。 -
@lmiguelvargasf:赞成者可能会赞成,因为转换此代码以使用更有效的字符串构建形式实际上并非易事,因为混合了前置和附加。
标签: java string performance loops concatenation