编写程序比较两个String的内容是否相等;遍写程序循环10000次,测试String与StringBuffer改变内容时他它之间速度比较。
时间: 2024-02-15 07:01:57 浏览: 31
String和StringBuilder效率测试
好的,下面是我的回答:
1. 比较两个String的内容是否相等可以使用equals()方法,示例代码如下:
```
String str1 = "Hello";
String str2 = "World";
if(str1.equals(str2)) {
System.out.println("str1 equals str2");
} else {
System.out.println("str1 not equals str2");
}
```
2. 测试String与StringBuffer改变内容的速度比较需要使用System.currentTimeMillis()方法来获取当前时间戳,示例代码如下:
```
String str = "";
long startTime = System.currentTimeMillis();
for(int i = 0; i < 10000; i++) {
str += "a";
}
long endTime = System.currentTimeMillis();
System.out.println("Using String: " + (endTime - startTime) + "ms");
StringBuffer sb = new StringBuffer();
startTime = System.currentTimeMillis();
for(int i = 0; i < 10000; i++) {
sb.append("a");
}
endTime = System.currentTimeMillis();
System.out.println("Using StringBuffer: " + (endTime - startTime) + "ms");
```
这段代码首先使用String来拼接10000个字符,然后使用StringBuffer来拼接同样的字符,最后比较它们的速度。由于String是不可变类,每次拼接都会生成新的String对象,所以使用String的速度会比较慢;而StringBuffer是可变类,每次拼接都不会生成新的对象,所以速度会比较快。
希望我的回答能够帮到你!
阅读全文