String、StringBuilder、StringBuffer以及它们之间的区别

文章目录

一、String类

二、StringBuilder类

三、StringBuffer类

四、三者的区别

一、String类

字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

常用的集中创建字符串的方法

1.String name = "中国加油"! 存在字符串常量池中

2.String name= new String("中国加油"); // String 对象创建 开辟新的空间存放字符串

String 类有 11 种构造方法(重载),这些方法提供不同的参数来初始化字符串

String类的常用方法

1.char charAt(int index) //返回索引处的char值

2.int compareTo(Object o)//比较字符串内容大小 小于返回-1 等于返回0 

3.String concat(String str) //将指定字符串连接到此字符串的结尾

4.int indexOf(int ch)// 返回指定字符在此字符串中最后一次出现处的索引。

5.int length()//返回此字符串的长度

6.String substring(int begindex)//返回一个新的字符串,它是此字符串的一个子字符串。

7.String trim() //去除字符串两端的空白 

8.boolean contains(CharSequence chars)//判断是否包含指定的字符系列

9.boolean isEmpty() //判断字符串是否为空

 

二、StringBuilder类

构造方法

//开辟长度为capacity(512)的字符数组存储空间
       StringBuilder strBuilder1 = new StringBuilder(512);
//开辟长度为capacity(默认为16)的字符数组存储空间
       StringBuilder strBuilder2 = new StringBuilder();
//开辟长度为capacity("中国".lenght()+16)的字符数组存储空间
       StringBuilder strBuilder3 = new StringBuilder("中国");

常用普通方法

1.public StringBuilder insert(int offset, String str)//在指定下标位置,插入新内容

2.public StringBuilder append(String str) //在当前字符串的尾部追加字符串str不产生新的字符串

3.  public StringBuilder replace(int start, int end, String str)//将下标start--end(不含)的字符串内容,替换为str

4.public StringBuilder delete(int start, int end)//删除指定范围(start--end(不含))的字符串

三、StringBuffer类

StringBuffer类构造方法

 1.StringBuffer s = new StringBuffer();

 2.StringBuffer s = new StringBuffer(“abc”);

四、三者的区别

String和StringBuilder、StringBuffer的区别

         String 是不可变字符串,StringBuilder和StringBuffer是可变字符串,且都是AbstractStringBuilder类的子类

StringBuilder和StringBuffer的区别
        StringBuilder类中的方法没有使用synchronized关键字,它的方法是"线程"不安全的,性能比较好,StringBuffer类中的方法使用了synchronized关键字,所以它的方法是"线程"安全的,但性能差。


你可能感兴趣的:(java,string)