• 【Java基础】StringBuilder类概述及字符串拼接、反转升级版案例


    目录

    一、StringBuilder类概述

    二、StringBuilder类和String类的区别

    三、StringBuilder类的构造方法

    四、StringBuilder类添加和反转方法

    五、StringBuilder和String相互转换

    六、字符串拼接升级版案例

    七、字符串反转升级版案例

    八、帮助文档查看StringBuilder常用方法


    一、StringBuilder类概述

    StringBuilder类是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的。

    二、StringBuilder类和String类的区别

    String类:内容不可变的

    StringBuilder类:内容是可变的

    三、StringBuilder类的构造方法

    常用的构造方法

    方法名说明
    public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
    public StringBulider(String str)根据字符串的内容,来创建可变字符串对象

    示例代码:

    1. public class StringBuilderDemo01 {
    2. public static void main(String[] args) {
    3. //public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
    4. StringBuilder sb = new StringBuilder();
    5. System.out.println("sb:" + sb);
    6. System.out.println("sb.length():" + sb.length());
    7. //public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
    8. StringBuilder sb2 = new StringBuilder("hello");
    9. System.out.println("sb2:" + sb2);
    10. System.out.println("sb2.length():" + sb2.length());
    11. }
    12. }

    四、StringBuilder类添加和反转方法

    添加和反转的方法

    方法名说明
    public StringBuilder append(任意类型)添加数据,并返回对象本身
    public StringBuilder reverse()返回相反的字符序列

    示例代码:

    1. public class StringBuilderDemo01 {
    2. public static void main(String[] args) {
    3. //创建对象
    4. StringBuilder sb = new StringBuilder();
    5. //public StringBuilder append(任意类型):添加数据,并返回对象本身
    6. // StringBuilder sb2 = sb.append("hello");
    7. //
    8. // System.out.println("sb:" + sb);
    9. // System.out.println("sb2:" + sb2);
    10. // System.out.println(sb == sb2);
    11. // sb.append("hello");
    12. // sb.append("world");
    13. // sb.append("java");
    14. // sb.append(100);
    15. //链式编程
    16. sb.append("hello").append("world").append("java").append(100);
    17. System.out.println("sb:" + sb);
    18. //public StringBuilder reverse():返回相反的字符序列
    19. sb.reverse();
    20. System.out.println("sb:" + sb);
    21. }
    22. }

    五、StringBuilder和String相互转换

    StringBuilder转换为String

    public String toString(),通过toString()就可以实现把StringBuilder转换为String

    String转换为StringBuilder

    public StringBuilder(String s):通过构造方法就可以实现把String转换为StringBuilder

    示例代码:

    1. public class StringBuilderDemo02 {
    2. public static void main(String[] args) {
    3. /*
    4. //StringBuilder 转换为 String
    5. StringBuilder sb = new StringBuilder();
    6. sb.append("hello");
    7. //String s = sb; //这个是错误的做法
    8. //public String toString():通过 toString() 就可以实现把 StringBuilder 转换为
    9. String
    10. String s = sb.toString();
    11. System.out.println(s);
    12. */
    13. //String 转换为 StringBuilder
    14. String s = "hello";
    15. //StringBuilder sb = s; //这个是错误的做法
    16. //public StringBuilder(String s):通过构造方法就可以实现把 String 转换为
    17. StringBuilder
    18. StringBuilder sb = new StringBuilder(s);
    19. System.out.println(sb);
    20. }
    21. }

    六、字符串拼接升级版案例

    需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组为int[] arr = {1,2,3};,执行方法后的输出结果为:[1,,2,3]

    思路:

    1、定义一个 int 类型的数组,用静态初始化完成数组元素的初始化

    2、定义一个方法,用于把 int 数组中的数据按照指定格式拼接成一个字符串返回。

    返回值类型 String,参数列表 int[] arr

    3、在方法中用 StringBuilder 按照要求进行拼接,并把结果转成 String 返回

    4、调用方法,用一个变量接收结果

    5、输出结果

    代码实现:

    1. public class StringBuilderTest01 {
    2. public static void main(String[] args) {
    3. //定义一个 int 类型的数组,用静态初始化完成数组元素的初始化
    4. int[] arr = {1, 2, 3};
    5. //调用方法,用一个变量接收结果
    6. String s = arrayToString(arr);
    7. //输出结果
    8. System.out.println("s:" + s);
    9. }
    10. //定义一个方法,用于把 int 数组中的数据按照指定格式拼接成一个字符串返回
    11. /*
    12. 两个明确:
    13. 返回值类型:String
    14. 参数:int[] arr
    15. */
    16. public static String arrayToString(int[] arr) {
    17. //在方法中用 StringBuilder 按照要求进行拼接,并把结果转成 String 返回
    18. StringBuilder sb = new StringBuilder();
    19. sb.append("[");
    20. for(int i=0; i
    21. if(i == arr.length-1) {
    22. sb.append(arr[i]);
    23. } else {
    24. sb.append(arr[i]).append(", ");
    25. }
    26. }
    27. sb.append("]");
    28. String s = sb.toString();
    29. return s;
    30. }
    31. }

    七、字符串反转升级版案例

    需求:定义一个方法,实现字符串反转,键盘录入一个字符串,调用该方法后,在控制台输出结果,例如,键盘录入abc,输出结果cba

    思路:

    1、键盘录入一个字符串,用 Scanner 实现

    2、定义一个方法,实现字符串反转。返回值类型 String,参数 String s

    3、在方法中用StringBuilder实现字符串的反转,并把结果转成String返回

    4、调用方法,用一个变量接收结果

    5、输出结果

    代码实现:

    1. public class StringBuilderTest02 {
    2. public static void main(String[] args) {
    3. //键盘录入一个字符串,用 Scanner 实现
    4. Scanner sc = new Scanner(System.in);
    5. System.out.println("请输入一个字符串:");
    6. String line = sc.nextLine();
    7. //调用方法,用一个变量接收结果
    8. String s = myReverse(line);
    9. //输出结果
    10. System.out.println("s:" + s);
    11. }
    12. //定义一个方法,实现字符串反转。返回值类型 String,参数 String s
    13. /*
    14. 两个明确:
    15. 返回值类型:String
    16. 参数:String s
    17. */
    18. public static String myReverse(String s) {
    19. //在方法中用StringBuilder实现字符串的反转,并把结果转成String返回
    20. //String --- StringBuilder --- reverse() --- String
    21. // StringBuilder sb = new StringBuilder(s);
    22. // sb.reverse();
    23. // String ss = sb.toString();
    24. // return ss;
    25. return new StringBuilder(s).reverse().toString();
    26. }
    27. }

    八、帮助文档查看StringBuilder常用方法

    方法名说明
    public StringBuilder append(任意类型)添加数据,并返回对象本身
    public StringBuilder reverse()返回相反的字符序列
    public int length()返回长度,实际存储值
    public String toString()通过toString()就可以实现把StringBuilder转换为String

     

  • 相关阅读:
    用HTTP核心模块配置一个静态Web服务器
    每天五分钟机器学习:逻辑回归的损失函数为什么不能是误差平方和
    Eureka、Nacos、Zookeeper、Redis等应用是AP还是CP?
    自动化测试-怎么存储测试用例
    Linux操作系统——http协议(一)
    腾讯云CVM服务器标准型/高IO/计算/大数据使用场景及选择说明
    极简idea下git操作(二)
    NVIDIA Jetson测试安装yolox过程记录
    【Linux】写个脚本实现简单的程序单例运行功能
    C++11之智能指针
  • 原文地址:https://blog.csdn.net/m0_61961937/article/details/126553818