课程
/后端开发
/Java
/Java入门第三季
string对象存储字符串的效率与stringbuilder,stringbuffer比较,哪个高?为什么
2017-12-28
源自:Java入门第三季 2-7
正在回答
StringBulider>StringBuffer>String;
String确定字符串之后是固定的不可改变的;重新添加字符串就会成为一个新的对象,并非是原对象;
StringBulider确定字符串后可对字符串进行修改、增加内容,且指定的还是原对象,性能比string高;
StringBulider和StringBuffer比较,前者没有实现线程安全功能,后者是线程安全,所以前者比后者高;
血色万花筒 提问者
学霸985
String是不可变的,所以天然线程同步。 同步就是排队,线程t1要执行的时候,必须等待t2线程执行结束; 异步就是并发,各线程执行各自的,互不影响。
String主要用于公共API,通用性好、用途广泛、读取性能高、占用内存小。StringBuilder主要用于拼接String,修改性能好。不过现在的编译器已经把 String 的 + 操作优化成 StringBuilder 了,所以一般用String就可以了 String是不可变的,所以天然线程同步。StringBuilder可变,非线程同步。
筑梦堂
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
1 回答对StringBuilder字符串的插入
4 回答关于String和StringBuilder对象的比较
2 回答字符串对象
2 回答字符串---对象
1 回答StringBuilder对象转换为String对象的意义?