java基础之string,stringbuffer,stringbuilder

一 string

 

public final class String

继承自java.lang.Object类。

实现了接口:

java.io.Serializable, Comparable<String>, CharSequence

String类是不能被修改的字符串。因为String类里面的数据是final类型的。

 

区别两种方式:

① String s = "aaaa";

② String s1 = new String("aaaa");

对于第一种,只在池中创建,然后返回对象地址。之后所有“aaaa"都是这个地址。

但是第二种,在池中创建,还要在堆(heap)中创建一个对象,返回的是堆中的地址。因为new了嘛。

 

(java.lang.String的intern()方法s1.intern()方法的返回值还是字符串"aaaa",表面上看起来好像这个方法没什么用处。但实际上,它做了个小动作:检查字符串池里是否存在"aaaa"这么一个字符串,如果存在,就返回池里的字符串;如果不存在,该方法会 把"abc"添加到字符串池中,然后再返回它的引用。

 

二 String  StringBuffer  StringBuilder

String :常量

StringBuffer:线程安全

StringBuilder:线程不安全

 

ps:推荐一篇精华文章  http://blog.csdn.net/clam_clam/article/details/6831345

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。