1.StringBuilder

StringBulider是一个可变的字符串类,可以把它看作是一个容器。

String和StringBuilder的区别:

  • String中的内容是不可变的
  • StringBuilder中的内容是可变的

String和StringBuilder的相互转换:

  •  通过toString()方法,把StringBuilder转换成String
  • 通过StringBuilder的构造方法,把String转换成StringBuilder

 

public class StringBilder01 {
    public static void main(String[] args) {
        //定义StringBuilder对象
        StringBuilder sb1 = new StringBuilder();
        //添加数据,链式
        sb1.append("Hello").append(100);
        /*
            StringBuider转String:
            String s1 = sb1.toString();
         */
        String s1 = "";
        System.out.println("s1:" + s1);
        s1 = sb1.toString();
        System.out.println("s1:" + s1);

        //定义String对象,直接赋值
        String s2 = "Hello";
        /*
            String转换成StringBuilder:
            StringBuilder sb2 = new StringBuilder(s2);
         */
        StringBuilder sb2 = new StringBuilder(s2);
        System.out.println("s2:" + s2);
    }
}

 案列1:拼接字符串:定义一个方法,把int数组中的元素按照指定的格式拼接成一个字符串返回, * 调用该方法,并在控制台输出结果。例如:int[] arr={1,2,3},拼接成字符串[1,2,3]

/**
 *   拼接字符串:定义一个方法,把int数组中的元素按照指定的格式拼接成一个字符串返回,
 *        调用该方法,并在控制台输出结果。例如:int[] arr={1,2,3},拼接成字符串[1,2,3]
 */
public class StringBilder02 {
    public static void main(String[] args) {
        //定义一个数组,并且静态初始化
        int[] arr = {1,2,3};
        //调用方法
        String s = arrayToString(arr);
        //输出结果
        System.out.println("s:" + s);
    }
    /*
        定义一个方法:拼接字符串
                两个明确:
                    返回类型:String
                        参数:int[] arr
     */
    public static String arrayToString(int[] arr){
        //定义一个StringBuilder对象,用来接收拼接的字符串
        StringBuilder sb = new StringBuilder();
        //添加字符串头
        sb.append("[");
        //遍历数组
        for (int i = 0; i < arr.length; i++){
            //判断,是否为最后一个元素
            if (i == arr.length - 1){
                sb.append(arr[i]);
            }else{
                sb.append(arr[i]).append(", ");
            }
        }
        //添加字符串尾
        sb.append("]");
        //转换成String对象
        String s = sb.toString();
        //返回s
        return s;
    }
}

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

import java.util.Scanner;

/**
 *  字符串反转:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出。
 *       例如输入abc,输出cba。
 */
public class StringBuilder03 {
    public static void main(String[] args) {
        //键盘录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s = sc.nextLine();
        String s1  = reverseString(s);
        System.out.println("s1:" + s1);
    }
    /*
        定义一个方法:实现字符串反转
            两个明确:
                返回类型:String
                    参数:String rs
     */
    public static String reverseString(String s){
        /*
        //定义一个StringBuilder字符串对象,用来接收反转,并且将String对象转换成StringBuilder对象
        StringBuilder sb = new StringBuilder(s);
        //调用reverse()方法进行反转
        sb.reverse();
        //将StringBuilder对象转换成String对象
        String s1 = sb.toString();
        //返回s1
        return s1;
        */
        return new StringBuilder(s).reverse().toString();
    }
}

 说明:

1)注意String与StringBuilder之间的转换。

2)注意使用StringBuilder的方法:

  • append():添加数据
  • reverse():反转数据
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐