1. String类是final修饰的不可变类,+号运算,会创建一些对象进行操作。
StringBuffer与StringBuilder,是可改变的对象,每当使用这两个对象对字符串做操作时, 实际上是在一个对象上操作的,所以速度快 .
2. StringBuilder:线程非安全的
StringBuffer:线程安全的
3. 大量字符串数据时的性能 StringBuilder >StringBuffer >String
使用情况的说明:
1. String + : 适合比较少量的字符串数据拼接
(比如 System.out.println("姓名:"+name+"年龄:"+age))2. StringBuilder : 大量字符串数据, 单线程下使用
(比如,一个main线程里进行,无其他线程)
3.StringBuffer : 大量字符串数据, 多线程下使用
(比如,多个Thread去操作)
Java多个字符的连接方法如下:// 第一种方法:使用 +
return string1 + string2
//第二种:使用String类的concat()方法
return string1.concat(string2)
//第三种:使用StringBuffer类的append();
StringBuffer sb = new StringBuffer(string1)
return sb.append(string2)
你明白了吗?