文章目录
- 1 🚩String详解
- 1.1🏃🏻 String类的构造器很多,常用的有:
- 1.2🏃🏻 String有private final byte[] value;属性用于存放字符串
- 1.3 🏃🏻String 常用方法
- 2 🚩StringBuffer详解
- 2.1🏃🏻 StringBuffer的构造器
- 2.2🏃🏻 String 与StringBuffer之间的转换;
- 2.3🏃🏻StringBuffer的常用方法
- 3 🚩StringBuilder
- 结语

1 🚩String详解
1.1🏃🏻 String类的构造器很多,常用的有:
String st1 = new String();
 String st2 = new String(String orginal);
 String st3 = new String(char [] a );
 String st4 = new String(char [] a ,int starIndext,int count);
 String st5 = new String(byte [] a);
1.2🏃🏻 String有private final byte[] value;属性用于存放字符串
这里被final修饰说明value的地址不可修改,但是值可以替换;
1.3 🏃🏻String 常用方法
| 方法名 | 说明 | 
| String toUpperCase() | 将小写字母转换为大写,返回值类型为String | 
| String toLowerCase() | 将大写字母转换为小写,返回值类型为String | 
| char [] toCharArray() | 将字符串换为字符数组,返回值类型为字符数组 | 
2 🚩StringBuffer详解
💡概念:StringBuffer,是可变长度可对字符串进行增删的一个容器;
(1)直接父类是:AbstractStringBuilder
 (2)实现了Serializable,说明StringBuffer也可以串行化;
 (3)在父类AbstractStringBuilder中的属性 char[] 不是final
 (4)StringBuffer也是一个final类,也就是说不能被继承
2.1🏃🏻 StringBuffer的构造器
①StringBuffer();
 构造一个不带字符的,字符串缓冲区,初始容量为16个字符;
 ②StringBuffer(int capacity)
 构造给不带字符的,但可以指定容量大小的字符串缓冲区
 ③StringBuffer(String str)
 通过给一个String创建StringBuffer,char [] 大小等于,字符串.length +16;
2.2🏃🏻 String 与StringBuffer之间的转换;
(1) String =》 StringBuffer
①使用构造器【代码示例】:
public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer("这里是字符串对象");
    }
}②使用StringBuffer中的append方法【代码示例】:
public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
        buffer = buffer.append("字符串对象");
    }
}(2)StringBuffer =》String
①使用toString方法【代码示例】:
public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
    }
}
②使用String的构造器把StringBuffer转Sting【代码示例】:
public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
//        StringBuffer通过String构造器为转字符串
        String s = new String(buffer);
    }
}
2.3🏃🏻StringBuffer的常用方法
| StringBuffer append(String str) | 添加方法 | 
| StringBuffer delete(int star,int end) | 删除 从star到end的字符【索引从0开始,包左不包右】 | 
| StringBuffer replace(int star,int end,String str); | 替换 从star到end的字符【索引从0开始,包左不包右】 | 
| int indexOf(String str) | 查找子串在字符串中第一次出现的索引,没找到返回-1 | 
| StringBuffer insert(int index,String str); | 插 在指定的索引位置插入字符串 | 
| int length() | 返回StringBuffer长度 | 
3 🚩StringBuilder
【提要:】StringBuilder与StringBuffer的使用方法一样
1 如果字符串存在大量修改操作,一般使用StringBuffer或者StringBuilder
 2 如果字符串存在大量修改操作,且单线程,使用StringBuilder
 3 如果字符串存在大量修改操作,且多线程,使用StringBuffer
 4 如果字符串很少修改,被多个对象引用,使用String,比如配置信息
结语
                










