您的位置:首页 > 产品设计 > UI/UE

String,StringBuilder,StringgBuffer三个类的区别?

2016-12-25 11:00 423 查看
String,StringBuilder,StringgBuffer三个类的区别?
   

String:值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间。

StringBuffer:是可变类,线程安全的字符串操作,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer 对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。

StringBuilder:StringBuilder和StringBuffer类的功能基本相似,主要区别在于StringBuffer类的方法是多线程、安全的, 而StringBuilder不是线程安全的,相比言,StringBuilder类会略微快一点,对于经常要改变值的字符串应该使用StringBuffer和StringBuilder。

总结:   

(1)如果要操作少量的数据用 String

(2)单线程操作字符串缓冲区下操作大量数据用 StringBuiler

(3)多线程操作字符串缓冲区下操作大量数据用 StringBuffer
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息