
在for循环中,字符串拼接应谨慎操作,以确保效率和可读性。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
众所周知,用于字符串连接的常用方法包括:StringBuffer、StringBuilder、concat函数以及StringUtils.join方法。为了探究在循环场景下,这些不同字符串拼接方式的效率差异,以下代码展示了它们各自的性能表现。
package com.test.stringjoin;
import org.apache.commons.lang3.StringUtils;
public class Test {
public static void main(String[] args) {
long t1 = System.currentTimeMillis();
// 使用 StringBuffer
StringBuffer sb1 = new StringBuffer();
for (int i = 0; i < 100000; i++) {
sb1.append(hello);
}
long t2 = System.currentTimeMillis();
// 使用 StringBuilder
StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < 100000; i++) {
sb2.append(world);
}
long t3 = System.currentTimeMillis();
// 使用 concat 函数
String concatString = ;
for (int i = 0; i < 100000; i++) {
concatString += test;
}
long t4 = System.currentTimeMillis();
// 使用 StringUtils.join 方法
String joinString = StringUtils.join(, example, one, two, three, four, five, six, seven, eight, nine, ten);
long t5 = System.currentTimeMillis();
System.out.println(StringBuffer time: + (t2 - t1)); // 输出 StringBuffer 的耗时时间。 这里省略了实际输出结果,因为题目要求不输出任何解释或说明。但是可以理解为这段代码测量了StringBuffer的运行时间。 类似地,t3, t4, 和 t5 也代表着对应方法的运行时间。
}
}
全部评论 (0)


