关闭

黑马程序员-----java中String类、StringBuffer容器、StringBuilder容器总结*

380人阅读 评论(0) 收藏 举报
分类:

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------


一、String类

1、由于String类是final的,它的值一经创建就不可改变

2、

String s1 = "abc";     //创建了一个对象

String s1_1 = "abc" ,String s1_2 = "abc";    //总共也只创建了一个对象
String s2 = new String("abc");     //创建了两个对象
String s3 = "ab"+"c";   //创建了三个对象

执行过程解释如下:

第一个语句,首先去字符串池中找是否有abc这个对象,没有,在字符串中创建了一个abc对象

第三个语句,先去也字符串池中找是否有abc找个对象,有,不新建,然后执行new语句,把abc拷贝到堆内存中

第四个语句,首先去字符串池中找是否有ab和c两个对象,没有,在字符串池中创建了两个对象,因为+,所以两个对象又合成了一个对象abc,这时候又去字符串中找,有,直接把abc拷贝到堆内存中



二、StringBuffer和StringBuilder

代码:

StringBuffer sb = new StringBuffer();

StringBuffer sb1 = sb.append(34);

print(sb.toString());      //结果一样

print(sb1.toString());    //结果一样

解释:

创建一个StringBuffer容器,容器名称叫sb,往该容器里面添加了一个整数34,但是sb和sb1都还是指向该容器来,内部的数据变化不会影响地址




---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:12216次
    • 积分:460
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条