stringbuffer改变全部内容
时间: 2023-07-26 08:32:53 浏览: 67
如果你想要改变StringBuffer中的全部内容,可以使用setLength()方法。该方法可以设置StringBuffer的长度,并将所有内容都设置为0。示例如下:
```
StringBuffer sb = new StringBuffer("Hello World!");
System.out.println(sb); // 输出:Hello World!
sb.setLength(0);
System.out.println(sb); // 输出:
```
在上面的代码中,我们首先创建了一个StringBuffer对象,并且将其内容设置为"Hello World!"。然后我们调用setLength(0)方法,将其长度设置为0,从而清空了其中所有的内容。最后,我们再次输出StringBuffer对象的内容,发现其已经变为空了。
相关问题
遍写程序循环10000次,测试String与StringBuffer改变内容时他它之间速度的比较
好的,以下是测试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是可变的,对它的操作只会修改原有的对象,不会创建新的对象,因此效率要高很多。
编写程序比较两个String的内容是否相等;遍写程序循环10000次,测试String与StringBuffer改变内容时他它之间速度比较。
好的,我可以回答您的问题。下面是Java代码实现。
1. 比较两个String的内容是否相等:
```java
String str1 = "hello";
String str2 = "world";
if(str1.equals(str2)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
```
上述代码中,通过String的equals()方法比较两个字符串的内容是否相等。
2. 测试String与StringBuffer改变内容时他它之间速度比较:
```java
// String
long start = System.currentTimeMillis();
String str = "";
for(int i=0;i<10000;i++){
str += "hello";
}
long end = System.currentTimeMillis();
System.out.println("String拼接10000次时间:" + (end-start) + "ms");
// StringBuffer
start = System.currentTimeMillis();
StringBuffer sb = new StringBuffer();
for(int i=0;i<10000;i++){
sb.append("hello");
}
end = System.currentTimeMillis();
System.out.println("StringBuffer拼接10000次时间:" + (end-start) + "ms");
```
上述代码中,我们使用了两个循环分别对String和StringBuffer进行了10000次拼接操作,并计算了所花费的时间。从输出结果可以看出,使用String进行字符串拼接时性能较差,而使用StringBuffer则性能较好。
希望以上回答能够帮到您。
阅读全文