• StringBuilder和StringBuffer的常用方法


    常用的方法: 

    方法说明
    StringBuff append(String
    str)
    在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、
    double、float、int、long、Object、String、StringBuff的变量
    char charAt(int index)获取index位置的字符
    int length()获取字符串的长度
    int capacity()获取底层保存字符串空间总的大小
    void ensureCapacity(int
    mininmumCapacity)
    扩容
    void setCharAt(int index,
    char ch)
    将index位置的字符设置为ch
    int indexOf(String str)返回str第一次出现的位置
    int indexOf(String str, int
    fromIndex)
    从fromIndex位置开始查找str第一次出现的位置
    int lastIndexOf(String str)返回最后一次出现str的位置
    int lastIndexOf(String str,
    int fromIndex)
    从fromIndex位置开始找str最后一次出现的位置
    StringBuff insert(int
    offset, String str)
    在offset位置插入:八种基类类型 & String类型 & Object类型数据
    StringBuffer
    deleteCharAt(int index)
    删除index位置字符
    StringBuffer delete(int
    start, int end)
    删除[start, end)区间内的字符
    StringBuffer replace(int
    start, int end, String str)
    将[start, end)位置的字符替换为str
    String substring(int start)从start开始一直到末尾的字符以String的方式返回
    String substring(int
    start,int end)
    将[start, end)范围内的字符以String的方式返回
    StringBuffer reverse()反转字符串
    String toString()将所有字符按照String的方式返回
    1. StringBuffer stringBuffer01 = new StringBuffer();
    2. StringBuffer stringBuffer02 = new StringBuffer();
    3. //1.StringBuffer append(String str)
    4. //将指定的字符串附加到此字符序列。(不一定是String类型,很多均可)
    5. stringBuffer01.append("Hellojava"); //此时stringBuffer01的内容为"Hellojava"。
    6. stringBuffer02.append(123456); //此时stringBuffer02的内容为"123456"。
    7. //2.int capacity()
    8. //返回当前容量。
    9. System.out.println(stringBuffer01.capacity()); //输出为16
    10. //3.char charAt(int index)
    11. //返回 char在指定索引在这个序列值。
    12. System.out.println(stringBuffer01.charAt(0)); //输出"H"
    13. //4.StringBuffer delete(int start, int end)
    14. //删除此序列的子字符串中的字符。 区间前闭后开。
    15. System.out.println(stringBuffer02.delete(0, 2));//此时stringBuffer02为"3456"
    16. //5.StringBuffer deleteCharAt(int index)
    17. //删除 char在这个序列中的指定位置。
    18. System.out.println(stringBuffer02.deleteCharAt(0)); //此时stringBuffer02为456
    19. //6.int indexOf(String str)
    20. //返回指定子字符串第一次出现的字符串内的索引。
    21. System.out.println(stringBuffer01.indexOf("java"));//输出为5
    22. //7.StringBuffer insert(int offset, String str)
    23. //将字符串插入到此字符序列中。
    24. System.out.println(stringBuffer02.insert(0, "123"));//此时stringBuffer02为123456
    25. //8.int lastIndexOf(String str)
    26. //返回指定子字符串最右边出现的字符串内的索引。
    27. StringBuffer stringBuffer03 = new StringBuffer("12345123");
    28. System.out.println(stringBuffer03);
    29. System.out.println(stringBuffer03.lastIndexOf("123")); //输出5
    30. //9.int length()
    31. //返回长度(字符数)。
    32. System.out.println(stringBuffer03.length()); //输出为8
    33. //10.StringBuffer replace(int start, int end, String str)
    34. //用指定的String中的字符替换此序列的子字符串中的 String。(前闭后开)
    35. System.out.println(stringBuffer03.replace(5,8,"6789")); //此时stringBuffer03为"123456789"
    36. //11.StringBuffer reverse()
    37. //导致该字符序列被序列的相反代替。
    38. System.out.println(stringBuffer03.reverse()); //此时stringBuffer03为987654321
    39. //12.void setCharAt(int index, char ch)
    40. //指定索引处的字符设置为 ch 。
    41. stringBuffer03.setCharAt(0, 'x');
    42. System.out.println(stringBuffer03); //此时stringBuffer03为"x87654321"
    43. //13.void setLength(int newLength)
    44. //设置字符序列的长度。
    45. stringBuffer03.setLength(14);
    46. //14.String substring(int start)
    47. //返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。
    48. System.out.println(stringBuffer03.substring(4)); //输出"54321"
    49. //15.String substring(int start, int end)
    50. //返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。(前闭后开)
    51. System.out.println(stringBuffer03.substring(4,7)); //输出"543"
    52. //16.String toString()
    53. //返回表示此顺序中的数据的字符串。
    54. String s = stringBuffer03.toString();
    55. System.out.println(s); //s为"x87654321"

    注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:
    String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。
    StringBuilder变为String: 调用toString()方法。

  • 相关阅读:
    Spring04
    软件过程与建模学习之:Ethics, ACs Code Ethics, IEEE Code of Ethics
    【STM32】标准库-自定义BootLoader
    80. 删除有序数组中的重复项 II
    全业务链管理平台Odoo
    数据结构初阶——时间复杂度
    【Spring Boot 源码学习】@Conditional 条件注解
    Abnova ABCB10(人)重组蛋白说明书
    【redis】--springboot集成redisson
    智云通CRM:如何提前识别哪些客户爱说“不”?
  • 原文地址:https://blog.csdn.net/m0_67995737/article/details/126350337