java中String和StringBuffer区别

xiaoxiao2021-02-28  94

JAVA提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。 这个String类提供了不可改变的字符串。

而这个StringBuffer类提供的字符串可以进行修改。

String: 为不可变对象,一旦被创建,就不能修改它的值. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

StringBuffer: 是一个可变  ,当对他进行修改的时候不会像String那样重新建立对象 它只能通过构造函数来建立, StringBuffer ss = new StringBuffer(); 注意:不能通过赋值符号对他进行付值. ss = "w!";//error 对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer 中付值的时候可以通过它的append方法. ss.append("w!");

地址不可更改,长度和内容可改。append()方法是追加,超过预留内存时,内存翻倍。

效率比较:StringBuffer比String高。因为StringBuffer有预留空间一直追加,只是对一个对象进行操作。而String是不能被修改的,只能重复的去创建对象来实现修改。——如果频繁的对字符串进行追加、替换、修改、插入、删除操作,最好使用StringBuffer。如果必须用String可以使用StringBuffer调用toString()来转换成String即可。

转载请注明原文地址: https://www.6miu.com/read-78993.html

最新回复(0)