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

---------------------- 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

阅读更多
个人分类: java基础学习总结
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭