java字符串连接很常见。作为一名Java开发人员,几乎每隔一段时间就会编写用于字符串连接的代码。
Java中的字符串连接
相信你可能听说不应该在java中使用字符串+
运算符来进行字符串连接。应该使用StringBuffer
或StringBuilder
类来实现连接操作。这是一个非常常见的java面试问题。
如果深入挖掘,你可能知道String内部使用StringBuffer
(直到Java 1.4)或StringBuilder
(Java 1.5以后)进行字符串+
操作符调用。
下面编写一个简单的String连接java程序来证明这一点。
import java.util.Arrays;
public class StringToCharArray {
public static void main(String args[]) {
String str = new String("zaixian");
str += "kaops!!";
}
}
现在将编辑上面的程序以使用StringBuffer
。
public class StringConcatenationExample {
public static void main(String args[]){
StringBuffer str = new StringBuffer ("zaixian");
str.append("kaops!!");
}
}
使用 + 运算符字符串连接的解释
以下是使用+
运算符进行字符串连接所涉及的步骤:
- 创建一个新的
StringBuilder
对象; - 将字符串
"zaixian"
复制到新创建的StringBuilder
对象; - 调用StringBuilder
append()
方法将kaops!!
附加到对象; - 调用StringBuilder
toString()
方法来获取String
对象; - 新的
String
对象引用分配给str
,旧的字符串"zaixian"
可用于垃圾回收。
使用append字符串连接的解释
如果使用StringBuffer
或StringBuilder
对象,则按以下步骤完成:
- 创建一个新的
StringBuffer
对象,值为"zaixian"
; - 调用
append()
方法将"kaops!!"
附加到对象; - 调用StringBuffer
toString()
方法来获取String对象;
显然,第二种方式是耗时更少,使用更少的资源并产生更少的垃圾收集。
上一篇:
java中方法重载和方法重写的区别
下一篇:无