JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。
这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。
有没有具体的例子可以解释说明下?
你这粘的图片全没了?
没看到你的错误信息因此不好判断
建议你贴出错误信息,这样才好判断
你可以贴出你的代码
int main() { ... }
类似这样贴出来。
String类就是跟c语言一样,生成一个内存中唯一的字符串
那么你要进行两个字符串拼接,s3=s1+s2,内存里就会同时有s1、s2、s3,三个字符串
当你反复进行拼接,内存里就会产生一大堆不同的字符串
而StringBuffer永远在同一个字符串的基础上向后追加字符
String是不可变字符串,stringbuffer是可变字符串,
1、String是不可变类,字符串都是常量,例如“ABC”会被存储在常量池中。对字符串进行任何更改操作都会产生新的String对象,但是原有的对象不会消失,而是会继续储存在常量池中,这样是会占用内存的
2、而StringBuffer是可变类,它们的字符串对象可以更改,对可变字符串的操作不会生成新的对象,自然不会占用内存,即对同一个字符串对象操作。