api中查String和StringBuffer的区别,举个例子用一用
时间: 2023-12-10 22:40:04 浏览: 23
String和StringBuffer是Java中两种不同的字符串类型。主要区别在于String是不可变的,而StringBuffer则是可变的。
具体来说,当你对一个String对象进行修改时,实际上是创建了一个新的String对象,原来的String对象并没有被修改。而StringBuffer则是可以直接修改原有的字符串对象。
例如:
```
String str = "Hello";
str += " World";
System.out.println(str);
```
这段代码中,我们首先定义了一个String类型的变量str,并将其赋值为"Hello"。然后,我们对str进行修改,将其加上" World",最终输出的结果为"Hello World"。但是,实际上,Java会在内存中创建一个新的String对象,将"Hello"和" World"拼接起来,并将其赋值给新的str变量。原来的str变量并没有被修改。
相比之下,使用StringBuffer可以直接修改原有的字符串对象:
```
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
System.out.println(sb);
```
这段代码中,我们首先定义了一个StringBuffer类型的变量sb,并将其赋值为"Hello"。然后,我们使用append()方法,将" World"添加到sb的末尾。最终输出的结果为"Hello World",原有的sb对象也被修改了。
因此,如果需要频繁地对字符串进行修改,建议使用StringBuffer。如果字符串不需要被修改,使用String即可。