猿问

String、StringBuffer和StringBuilder

String、StringBuffer和StringBuilder

请告诉我要比较的实时情况StringStringBuffer,和StringBuilder?


慕莱坞森
浏览 269回答 3
3回答

慕码人2483693

易变性差异:String是不变,如果您试图更改它们的值,则会创建另一个对象,而StringBuffer和StringBuilder是可变这样他们才能改变自己的价值观。螺纹-安全差别:.之间的区别StringBuffer和StringBuilder那是StringBuffer线程安全。因此,当应用程序只需要在单个线程中运行时,最好使用StringBuilder. StringBuilder比StringBuffer.情况:如果您的字符串不会更改,请使用String类,因为String对象是不可变的。如果您的字符串可以更改(例如:字符串构造中的大量逻辑和操作),并且只能从单个线程访问,则使用StringBuilder就够好了。如果您的字符串可以更改,并且将从多个线程访问,请使用StringBuffer因为StringBuffer是同步的,所以你有线程安全。

慕姐4208626

你用String在合适的不可变结构时;从String无论是在CPU时间还是在内存中,都可能带来不可接受的性能损失(获取子字符串是CPU效率的原因,因为数据没有被复制,但这意味着可能会有更多的数据仍然被分配)。你用StringBuilder当您需要创建一个可变字符序列时,通常需要将多个字符序列连接在一起。你用StringBuffer在同样的情况下,你会使用StringBuilder,但是当对基础字符串的更改必须同步时(因为有几个线程正在读取/修改字符串缓冲区)。见示例这里.
随时随地看视频慕课网APP

相关分类

Java
我要回答