String,StringBuffer与StringBuilder的基本应用与区别

Stringbuffer
Stringbuffer:字符串缓冲区
* 用于存储数据的容器

特点:1.长度可变
* 2.存储不同类型的数据
* 3.最终都要转成字符串进行使用
* 4.可以对字符串进行修改
*
* 这个容器的功能:
* 1.添加 append(obj)
* insert(index,obj)
* 2.修改 sb.replace(start,end,str)
* sb.setCharAt(index,char)
* 3.删除 sb.delete(index)
* sb.delete(start,end)
* 4.查找 char charAt = sb.charAt(index);查找单个
* int IndexOf = sb.lastIndexOf(str);
* int IndexOf = sb.IndexOf(str);

 * StringBuilder jdk1.5版本之后出现的,和Stringbuffer功能一样
     * 
     * 不同: StringBuffer 线程安全的,用于多线程 
     *      StringBuilder 线程不安全的,用于单线程
     这两个内部实现的区别在于synchronized
     
String StringBuffer StringBuilder
    String : 字符串常量,对象已创建不可更改
    StringBuffer,StringBuilder,字符串变量,对象创建完以后,可以更改

    String str = "abc";
    syso(str);//abc
    str = str + "de";
    syso(str);//abcde

    1.运行速度
    String速度最慢
    Stringb速度适中
    Stringbuil速度最快
    2.线程安全

    少量的字符串操作    String
    多线程大量的字符串进行操作   StringBuffer
    单线程大量的字符串进行操作   StringBuilder

    效率:
    StringBuilder > StringBuffer > String
    
    

String
/1.判断功能
equals(Object o) 比较字符串的内容是否相同
* equalsIgnoreCase(String another) 比较字符串的内容是否相同,不区分大小写
* startsWith(String str)是否以指定字符串开头
* endsWith(String str)是否以制定字符串结尾
* /
2.获取功能
length() 返回字符串长度
* charAt(int index) 根据位置获取字符
* indexOf(String str)获取字符串首次出现的位置
* indexOf(String str,int from)获取字符串在指定位置,首次出现的位置
* indexOf(int ch)获取字符首次出现的位置
* indexOf(int ch,int from)获取字符在指定位置,首次出现的位置
*
* indexOf(String str)获取字符串最后一次出现的位置
* indexOf(String str,int from)获取字符串在指定位置,最后一次出现的位置
* indexOf(int ch)获取字符最后一次出现的位置
* indexOf(int ch,int from)获取字符在指定位置,最后一次出现的位置

猜你喜欢

转载自www.cnblogs.com/chuangbian-feixue/p/10811572.html