gpt4 book ai didi

java - 在 Java 中连接两个字符串的最快方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:54:31 25 4
gpt4 key购买 nike

在 Java 中连接两个字符串的最快方法是什么?

String ccyPair = ccy1 + ccy2;

我使用 cyPair 作为 HashMap 中的键,并在非常紧凑的循环中调用它来检索值。

当我分析时,这就是瓶颈

java.lang.StringBuilder.append(StringBuilder.java:119)  
java.lang.StringBuilder.(StringBuilder.java:93)

最佳答案

大量理论 - 是时候练习一下了!

private final String s1 = new String("1234567890");
private final String s2 = new String("1234567890");

在预热的 64 位 Hotspot 上使用 10,000,000 的普通 for 循环,在 Intel Mac OS 上使用 1.6.0_22。

例如

@Test public void testConcatenation() {
for (int i = 0; i < COUNT; i++) {
String s3 = s1 + s2;
}
}

在循环中使用以下语句

String s3 = s1 + s2; 

1.33 秒

String s3 = new StringBuilder(s1).append(s2).toString();

1.28 秒

String s3 = new StringBuffer(s1).append(s2).toString();

1.92s

String s3 = s1.concat(s2);

0.70s

String s3 = "1234567890" + "1234567890";

0.0s

所以 concat 是明显的赢家,除非你有静态字符串,在这种情况下编译器已经处理好了你。

关于java - 在 Java 中连接两个字符串的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5076740/

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