gpt4 book ai didi

java - 更改字符串值与 if 语句的性能

转载 作者:行者123 更新时间:2023-11-29 05:50:19 24 4
gpt4 key购买 nike

我在看约翰的回答here并认为它很光滑。我想知道是否可以使用 if 语句进一步改进它,但我不确定 if 语句是否会执行得更好。

if 语句是否比更改 String 的值“成本更高”?

String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
prefix = ",";
sb.append(serverId);
}

对比

String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
if( prefix.equals( "" ) {
prefix = ",";
}
sb.append(serverId);
}

最佳答案

第二个版本肯定会更慢。它不仅仅是一个 if,也是一个 equals 调用,而且大多数时候两个比较的字符串会不同,因此 equals 方法不会提前返回 - 相反它比简单的赋值做更多的工作(查看源代码String 中的 equals 方法的详细信息)。

当然,大多数时候可读性比速度更重要,Guava Joiner 可以帮助您编写非常清晰的代码。

关于java - 更改字符串值与 if 语句的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14147092/

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