遍写程序循环10000次,测试String与StringBuffer改变内容时他它之间速度的比较
时间: 2024-02-22 10:59:57 浏览: 46
String和StringBuilder效率测试
好的,以下是测试String与StringBuffer改变内容时它们之间速度比较的Java程序:
```java
public class TestStringVsStringBuffer {
public static void main(String[] args) {
// 测试String
String str = "";
long startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 10000; i++) {
str += i;
}
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("String消耗时间:" + (endTime - startTime) + "ms");
// 测试StringBuffer
StringBuffer sBuffer = new StringBuffer("");
startTime = System.currentTimeMillis(); // 获取开始时间
for (int i = 0; i < 10000; i++) {
sBuffer.append(i);
}
endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("StringBuffer消耗时间:" + (endTime - startTime) + "ms");
}
}
```
在以上程序中,我们首先使用String和StringBuffer分别进行字符串拼接操作,每个操作都执行10000次,然后记录下操作开始和结束的时间,最后计算出操作所用的时间并输出。可以看到,StringBuffer的执行时间明显要短于String,这是因为String是不可变的,每次对它的操作都会创建一个新的对象,而StringBuffer是可变的,对它的操作只会修改原有的对象,不会创建新的对象,因此效率要高很多。
阅读全文