新闻资讯

详解String 和 StringBuffer 区别

发布时间:2011-03-15

点击量:

举例说明:

String str1 = "abc";    假设地址为0x01

String str2 = "def";     假设地址为0x02

那么 str1.concat(str2);  得出的地址应该是0x03  并不是在str1的内存中添加内容"def"  而是重新开辟一块空间保存"abcdef"

 

 

StringBuffer str3 = new StringBuffer("abc");    假设地址为0x05

StringBuffer str4 = new StringBuffer("def");     假设地址为0x06

那么 str3.append(str4);  得出的地址应该是0x05  而是在str3的内存中继续添加内容"def" 

0x05中变成"abcdef"

 

综上两个例子,说明string 定义的变量的内存空间将是固定不变的,而stringbuffer定义的变量内存空间是可以改变的,所以网上很多人说什么string内存固定,stringbuffer内存可变也就是这个原因,在此给大家做了一个详细的讲解。


服务热线

服务热线

15383239821

微信咨询
微信二维码
返回顶部
×微信二维码

截屏,微信识别二维码

微信号:

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!