举例说明:
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内存可变也就是这个原因,在此给大家做了一个详细的讲解。
上一篇:C# 字符串用法集合
相关新闻
- 小程序登录流程图理解 2020-08-18
- 在C#中获取web.config中的配置信息 2021-08-23
- 小程序open-data头像样式 2021-04-10
- 小程序rich-text 富文本解析图片过大和图片路径的问题 2020-11-25
- C#中去掉字符串的最后一个字符 2020-11-23