String和Stringbuff和Stringbuilder区别

string类型属于引用类型,不属于八个基本变量。

    每次指定一个String a="a";时,jvm会在内存中新建一个对象,当你再给a赋值的时候,jvm并没有改变a引用的值,只是重新创建一个String类型的a而已,把指针指向新的对象就行了,gc会负责回收没有用的对象

所以String(为字符串常量)执行效率要小于Stringbuff(变量)和Stringbuilder(变量)

Stringbuff和Stringbuilder区别在于Stringbuff是线程安全的,Stringbuilder非线程安全

一般:Stringbuff适用于多线程时使用,Stringbuilder在单线程下执行效率更高,String适用于少量的字符串操作的情况下。


猜你喜欢

转载自blog.csdn.net/a__man/article/details/80246576
今日推荐