api中查String和StringBuffer的区别,举个例子用一用
时间: 2023-12-10 14:40:22 浏览: 24
Java中的String和StringBuffer都是字符串类,但是它们有一些不同点:
1. String是不可变类,即一旦一个String对象被创建,它的值就无法被修改。相反,StringBuffer是可变类,它的值可以被修改。
2. String的操作会创建新的String对象并返回,而StringBuffer的操作会在原始对象上修改并返回。
下面是一个例子,展示了String和StringBuffer的区别:
```java
public class StringVsStringBuffer {
public static void main(String[] args) {
String str1 = "Hello";
str1.concat(" World");
System.out.println("String: " + str1); // 输出结果为 "Hello"
StringBuffer str2 = new StringBuffer("Hello");
str2.append(" World");
System.out.println("StringBuffer: " + str2); // 输出结果为 "Hello World"
}
}
```
在这个例子中,我们首先创建了一个String对象str1,并尝试使用concat()方法将其与另一个字符串连接起来。但是由于String是不可变的,concat()方法创建了一个新的String对象,并返回该对象的引用,而原始字符串对象并没有改变。
接着,我们创建了一个StringBuffer对象str2,并使用append()方法将其与另一个字符串连接起来。由于StringBuffer是可变的,append()方法直接在原始对象上进行修改,并返回该对象的引用,最终输出了"Hello World"。