【发布时间】:2013-01-03 20:54:46
【问题描述】:
我正在查看 John 的答案 here 并认为它非常巧妙。我想知道是否可以使用 if 语句进一步改进它,但我不确定 if 语句是否会更好。
if 语句是否比更改字符串的值“花费更多”?
String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
prefix = ",";
sb.append(serverId);
}
VS.
String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
if( prefix.equals( "" ) {
prefix = ",";
}
sb.append(serverId);
}
【问题讨论】:
-
你不是在改变一个字符串,你是在改变一个引用变量。 (无论如何,字符串是不可变的!)
-
另外,如果这很重要,那么您可能应该对其进行分析。
-
如果这很重要,我想知道为什么。
-
我还是说在 Guava 中使用
Joiner会更好:) -
写出这个问题,你可能花费的时间比这种优化所节省的时间还要多,即使你的程序运行了数十亿次。
标签: java performance