String类和StringBuffer,StringBuilder笔记

String类和StringBuffer,StringBuilder

1.String类是一个用来描述字符串的这么一个类,用String类创建的字符串对象是一个常量,它们的值在创建后就不能更改。

//String类的创建方式:
String s1 = "abc";
String s = new String("abc");

2.StringBuffer和StringBuilder都是是字符串缓冲区,是一个容器,长度是可以变化的,通过某些方法调用可以改变该序列的长度和内容,可以自己操作多个数据类型,最终会通过toString方法输出字符串。

StringBuffer和StringBuilder除了在线程上不同,其余都几乎一样,StringBuffer是线程同步的,StringBuilder是线程不同步的,所以在线程需要同步的时候我们用StringBuffer,线程不需要同步的时候我们用StringBuilder,因为StringBuilder的效率更高。

//StringBuffer和StringBuilder的创建方式:
StringBuffer = new StringBuffer ("abc");
StringBuilder= new StringBuilder ("abc");

3.操作String类的方法

//获取:
    int     length();//获取字符串的长度
    char        charAt(int index); //获取参数位置的字符
    int     indexOf(int c(ASCII))//根据字符获取位置
    int     indexOf(int c(ASCII),int c指定位置)//根据字符从指定位置开始获取位置
    int     lastindexOf(int c)//反方向查找

//获取子串中的一部分:
    String  subString(begin);//从bagin开始索引
    String  subString(begin,end); //从begin到end,含头不含尾

//判断:
    boolean     equalsIguoreCase();//不区分大小写比较
    boolean     equals();//判断两个字符串的值是否一样
    boolean     contains(str);//是否包含一个str子串
    boolean     isEmpty()//是否有内容
    boolean     startsWith(str);//是否以str开始
    boolean     endsWith(str);//是否以str 结尾

//转换:
    //1 将字符数组转成字符串:
        构造函数 String(char[])
               String(char[],offset,count);//将一部分转成字符串

        静态方法 static String copyValueOf(char[]);
                 static String copyValueOf(char[],offset,count);
                 static String valueOf(char[]);

    //2 将字符串转换成字符数组:
     char[]      toCharArray();

    //3 将 字节数组 转成 字符串
        String(byte[]);
        String(byte[],offset,count);

    //4 将 字符串 转换成 字节数组
        byte[]  getBytes();

    //5 将 基本数据 类型转换成 字符串
        static String valueOf(int);
        static String valueOf(double);
        //例:String.valueOf(3);
//替换:
    String replace(oldchar,newchar);

//切割:
    String[] split(切割符);

//转换大小写:
    String toUpperCase();
    String toLowerCase();

//将字符串两端的空格去掉
    String  trim();

//对两个字符进行自然排序的比较 
    int     str1.compareTo(str2);
    //返回值是为0 两个一样
    //返回值为正 str1大
    //返回值为负 str2大

4.StringBuffer和StringBuilder的一些常用方法:

//1存储
    StringBuffer append();//将指定数据作为参数添加到结尾处
    StringBuffer insert(inext,数据);//添加到指定位置
//2 删除
    StringBuffer delete(start,end)
    StringBuffer deleteCharAt(index);//删除指定位置的字符
//3 获取
     char   charAt(int index)//获取index位置的字符
     int        indexOf(String str)//获取字符串str的位置
     int        lastIndexOf(String str)//反向获取str的位置
     int        length()//获取长度
     String substring(int start,int end)//获取start位置到end位置的子字符串
//4 修改
    替换 StringBuffer     replace(start,end,string)
    单个字符的替换void       setCharAt(int index.char ch)

//5 反转
    StringBuffer reverse();

//6 将缓冲区中的 指定数据 存储到 指定字符组 的指定位置
void getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin);
//把缓冲区里的字符串从srcbegin 到 srcEnd 存到 dst 的 dstbegin起始位置

5.String类和StringBuffer,StringBuilder的使用

操作一些不需要被需改的字符串时我们可以使用String类创建对象,如果是需要经常修改的话我们就用StringBuffer或StringBuilder,在线程需要同步的时候我们用StringBuffer,线程不需要同步的时候我们用StringBuilder,因为StringBuilder的效率更高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章