一、String类
二、StringBuilder类
三、StringBuffer类
四、三者的区别
字符串广泛应用 在 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() //判断字符串是否为空
构造方法
//开辟长度为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类构造方法
1.StringBuffer s = new StringBuffer();
2.StringBuffer s = new StringBuffer(“abc”);
String和StringBuilder、StringBuffer的区别
String 是不可变字符串,StringBuilder和StringBuffer是可变字符串,且都是AbstractStringBuilder类的子类
StringBuilder和StringBuffer的区别
StringBuilder类中的方法没有使用synchronized关键字,它的方法是"线程"不安全的,性能比较好,StringBuffer类中的方法使用了synchronized关键字,所以它的方法是"线程"安全的,但性能差。