String和StringBuffer和StringBuilder的区别

String字符串

特点:字符串一旦被初始化 就不可以改变 存放在方法区中的常量池中

对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

String是final类修饰的不能被继承

StringBuffer 字符串缓存区

特点:

只能通过构造函数来建立

可以对字符串内容进行修改

是一个容器

是可变长度的

缓存去可以存储任意类型的数据

最终需要变成字符串

StringBuffer和StringBuilder的区别

StringBuffer 线程安全的

StringBuilder线程不安全的

 

单线程操作:使用StringBuilder效率高

多线程操作:使用StringBuffer安全

StringBuffer的速度 几乎是String的上万倍

总结: 如果在程序中需要对字符串进行频繁的修改连接操作的话.使用StringBuffer性能会更高

你可能感兴趣的:(javaSE)