1.String 是固定长度的字符串。这是因为String出来的字符串存储在字符串常量池中,常量池中的字符串的长度是不会改变的。
StringBulider和StringBuffer 的长度是可变的。StringBuilder和StringBuffer通过构造函数来创建字符串对象,创造出来的对象值是存储在堆内存中,StringBulider 和StringBuffer可以利用append()方法拼接字符串,也就是new出来的对象可以继续拼接在原来的存储空间上。
2.StringBulider的执行效率比StringBuffer 高,也比String高。
3.StringBuffer 是线程安全的,这是因为StringBuffer重写的父类的方法都是被synchronized所修饰,保证了线程的安全。StringBuilder是非线程安全的。String由于是被final所修饰,线程安全。