• 学习2____String,StringBuilder,StringBuffer


    一:String:

    String类不可变的原因:底层是由private final char [ ]修饰的字符数组,这也决定了String类不可被继承(final修饰); 

        1.构造方法:由于在内存中存放的方式不同(常量池,堆),String可以使用常量进行赋值。

    //两种方式的构造方法:
    String str="123";   //引用类型,但可以向常量一样赋值,因为在内存中存放的方式不一样
    String str  =new String ("123");

       2.常用方法:

    1. charAt(index);    //获得相应索引下标的字符
    2. length();    //返回该字符数组的大小,  数组用 length属性    String用length()方法,  集合类用size()方法;
    3. contains(str);    //返回boolean,是否包含相应子串;
    4. getBytes();     //返回字节数组;
    5. toCharArray();   //转换成字符数组;
    6. indexOf(char);   //找寻指定元素在string中第一次出现的位置;
    7. lastIndexOf(char);   //找寻所给元素最后一次出现的位置;
    8. repalce(char,char);   //替换指定的字符;
    9. split(string);   //按照string进行字符串的分割,结果是一个str数组;
    10. subString(int):   截串:从int下标来时到最后    subString(int,int ) 截串 [ )的区间;
    11. toUperCase():字母全部转大写;
    12. toLowerCase(): 字母全部转小写;
    13. trim();   //去除字符串的前后的空格;
    14. matches(String regex);   //是否匹配某一个字符串;

    二,StringBuffer,StringBuilder:

    底层也是字符数组,相比于String的字符数组 修饰符不同,所以限制不同。

    1.构造方法:

    StringBuilder sb=new StringBuilder();  
    //无参的构造,默认大小为16
    
    StringBuilder  sb= new StringBuilder("abc");
    
    StringBuilder sb =new StringBuilder(string);
    //以String对象作为StringBuilder的构造方法的参数

    2.常用方法:

    1. append(object);   //拼串;
    2. capacity();  //返回底层字符数组的长度;
    3. length();   //返回有效元素的个数;
    4. charAt(int);   //按索引返回index位置的char;
    5. subString(int,int);   //返回一个String [ )
    6. deleteCharAt(int)l   //按索引删除一个字符,返回一个StringBuilder;
    7. setCharAt(int,char);  //将giant索引的字符修改;
    8. reverse();   //将串翻转 返回的还是一个StringBuilder;
    9. toString();   //将StringBuilder变换成一个String返回;
    10. trimToSize();   //压缩串

    3.由于StringBuilder没有实现Compareable接口,没有compareTo()方法,不能进行元素的比较;

    StringBuffer是JDK比较早期的版本,是线程安全的,但是执行效率低下。

  • 相关阅读:
    [数学]如何旋转曲线
    19_04_25校内训练[最小割]
    第二类斯特林数总结
    19_04_19校内训练[Game]
    kd-tree题目总结
    [HNOI2019]校园旅行
    LCT模板(无讲解)
    min_25筛题目总结
    Miller Robbin测试模板(无讲解)
    19_04_02校内训练[图染色]
  • 原文地址:https://www.cnblogs.com/xbfchder/p/11403188.html
Copyright © 2020-2023  润新知