java中String,StringBuffer,StringBuilder的区别
String:
1,是字符串常量,一旦创建就不能修改。对于已经存在了的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
2,String也是final类,不能被继承。
3,String是对象而不是基本类型。
4,string覆盖了equals方法和hashCode()方法。
StingBuffer:
1,是字符串可变对象,可以对字符串进行操作,修改字符串原有值时不会新建一个对象。
2,执行效率较慢,但是线程安全
3,StringBuffer没有覆盖equals方法和hashCode()方法。
4,可以动态的构造字符数据,append()方法。
StringBuilder:
1,也是字符串可变对象,同StringBuffer一样,可以对字符串进行操作,也不会新建对象。
2,执行效率高效,但是线程不安全。