容我喝杯82年的Java压压惊~~~如有错误恳请指正。
1.String:由多个字符组成的一串数据,相当与字符数组。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是常量,它们的值在创建之后不能更改。
(1)字符串直接赋值和new String(…)的区别
图解:
2.StringBuffer:线程安全的可变字符序列。
(1)StringBuffer与String的区别?
- StringBuffer的长度和内容可变,String不可变。
- StringBuffer做字符串的拼接会节约资源,更高效。
3.StringBuilder:一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。功能于StringBuffer相同。
(1)StringBuffer与StringBuilder的区别?
- StringBuffer是同步的,线程安全,相对于StringBuilder效率低。
- StringBuilder是不同步的,线程不安全,效率高。
注:相关方法请查看API