String底层是一个final类型的字符数组,所以String的值是不可变的,每次对String的操作都会生成新的String对象,造成内存浪费
而StringBuffer和StringBuilder就不一样了,他们两都继承了AbstractStringBuilder抽象类,他们的底层都是可变的字符数组,所以在进行频繁的字符串操作时,建议使用StringBuffer和StringBuilder来进行操作。且StringBuilder线程不安全但效率较高,StringBuffer线程安全但效率较低(可以使用拼接的方式(append)和System.currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差来进行验证)
String与StringBuffer与StringBuilder区别
最新推荐文章于 2024-07-10 21:37:49 发布