Java基础之数据类型(二)String,StringBulider,StringBuffer区别以及常用API

来源:互联网 发布:mac笔记本如何收藏网页 编辑:程序博客网 时间:2024/06/05 21:25

    1.可变与不可变

     String源码是final修饰的,所以是存储在不可变区域,即存在字符串常量区 String s=new String();或者静态区String s="faffds",StringBulider与StringBuffer都是可变的,一般涉及到字符串操作的时候用后者。

     2.是否多线程安全

    String中的对象是不可变的,也就可以理解为常量,显然线程安全,StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder与StringBuffer有公共父类AbstractStringBuilder(abstract类)


    3.StringBulider常用API

    1)  public StringBuilder append(String str) 尾部新增字符串,在原来的基础上扩容。

2) public StringBuilder insert(int offsetString str) 在某个位置插入,也是原基础上扩容,但是一定要用在已经完整的字符串,而不是动态插入。

    3)  public StringBuilder replace(int startint endString str) 比如We Are start=2,end=3,str="%20" 结果为We%20Are

4)public StringBuilder reverse() 顾名思义

5)public String toString() 故名思意 比较常用

6)public StringBuilder delete(int startint end) 不包含最后一个

7)public void (int newLength)

8) charAt(int k);setCharAt(int,char);


4.String常用API

substring,equals,compareTo(string),public char[]toCharArray();


推荐查看源码网站http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25

阅读全文
0 0
原创粉丝点击