JAVA----String、StringBuilder、StringBuffer

版权声明:转载请标明出处~~谢谢! https://blog.csdn.net/zoe_ranxiaosu/article/details/81985885

String

(底层是字符数组+对数组的操作)

特点
(1)是不可变的字符串类型,(不可变:对象的内容不能更改)
(2)final修饰的类型
(3)字符下标(索引)从0开头
(4)重写了equals方法和toString方法
(5)字符集采用平台默认字符集,大多数是unicode字符集,任意字符都占两个字节。

构造器:
     String():
          创建一个空字符序列的字符串对象
     String(byte[] bs)
          创建一个字符串对象。使用默认字符集进行解码的字符串。
     String(byte[] bs,String charset)
          将字节数组使用指定字符集进行解码成相应的字符串对象。
     String(char[],ch)
          将字符数组转换成字符串对象
     String(String str)
          指定一个字符串字面量创建一个字符串对象
常用方法:
     int length():
          返回字符串对象的字符个数
     char charAt(int index);
          返回此字符序列中指定索引处的字符
     String concat(String another)
          将指定字符串another拼接到此字符序列的末尾,返回新对象
     boolean startsWith(String prefix)/endsWith(String sufix)
          查看此字符序列是否以prefix为前缀/以suffix为后缀
     byte[] getByte():
         将此字符串按照默认字符集编码成字节序列,返回一个新的字符数组。
         
查找字符串中的字符/子字符串的位置        
     int indexOf(int ch)
          返回字符ch在此字符串中第一次出现的下标(索引/位置)
     int indexOf(int ch,int fromIndex)
          返回字符ch从此字符串fromIndex下标开始,往后一次出现的位置
     int indexOf(String str) 
     int indexOf(String str,int fromIndex)  
     
          注意:返回-1,说明要找字符/子字符串不存在查找序列中
     int lasrIndexOf(int ch);
     int lastIndexOf(int ch,int fromIndex)
     int lastIndexOf(String str)
     int lastIndexOf(String str,int fromIndex)
     查找字符/子字符串截止到某一下标时,最后一次出现的位置。
上述四个方法:查找字符/子字符串在此字符序列中最后一次出现的位置,如果没有返回-1


截取子字符串的方法:
    String substring(int begainIndex)
        从此字符序列的begainIndex开始截取,截取到最后
    String substring(int begainIndex,int endIndex)
       从此字符序列的begainIndex开始截取,一直到endIndex

字符串转成字符数组的方法
    char[] toCharArray()
        将此字符序列变成字符数组
        
字符串中的字母转成大写/小写
    toUpperCase()
        将字符串中的字母都变成大写,返回新字符串
    toLowerCase()
        将字符串中的字母都变成小写,返回新字符串
前后去空格的方法:
    String trim()
       去掉此字符序列的前与后的空格
将任意参数变成字符串对象
    static String valueOf(Type v);
        将参数v变成字符串对象
equals方法与==的区别
==:用来比较是不是同一个对象
equals:用来比较两个对象的内容是否相同

String类型中重写了equals方法

 StringBuilder

(字符串:底层是字符数组,及其对数组的操作)
特点:
(1)此类型是final修饰的
(2)没有重写equals方法
(3)此类型提供的大多数方法都带有返回值,即return this  返回同一个地址
构造器:
    StringBuilder() 
        构造了一个空的字符串生成器,初始容量位16。
    StringBuilder(String str)
        创建一个指定字符串的StringBuilder对象
常用方法:
    int length():
        返回有效字符的长度。
    StringBuilder append(Type a ):
        将参数a追加到StringBuilder对象里,返回此对象
    StringBuilder insert(int index,Type a);
        将参数a插入到对象的下标index处
    StringBuilder delete(int start,int end);
        删除此对象里的部分字符,从start开始,到end结束。
        注意:包前不包后[)【左闭右开】      
    StringBuilder replace(int start, int end, String str)
        使用str替换此对象从start开始到end结束的子串
    StringBuilder reverse();
        将StringBuilder对象的内容进行翻转

 StringBuffer

此类与StringBuilder用法一模一样。
 但是:在线程安全上考虑StringBuffer线程安全,StringBuilder线程不安全
            ]在执行效率上:StringBuffer效率低, StringBuilder效率高 

猜你喜欢

转载自blog.csdn.net/zoe_ranxiaosu/article/details/81985885