StringBuilder的使用

  • 没有使用StringBuilder的话,用字符串拼接耗时耗空间。
    这里写图片描述
    这里写图片描述
  • StringBuilder
    这里写图片描述
package com.Brooke01;

public class StringBuliderDemo1 {
    public static void main(String[] args) {
        StringBuilder strBui = new StringBuilder("ssa");
        System.out.println("strBui:"+strBui);
        System.out.println("当前容量:"+strBui.capacity());
        System.out.println("长度是:"+strBui.length());
    } 
}

结果: 
    strBui:ssa
    当前容量:19
    长度是:3

  • StringBUilder的拼接功能和反转功能
package com.Brooke01;

public class StringBuilderDemo2 {
    public static void main(String[] args) {
        StringBuilder strBui = new StringBuilder();
        //链式编程,拼接
        strBui.append(true).append("abc").append(100);
        System.out.println(strBui);
        //反转
        System.out.println(strBui.reverse());
    }
}

结果:
    trueabc100
    001cbaeurt
  • StringBuilder和String的相互转换:
package com.Brooke01;

public class StringBuilderTest1 {
    public static void main(String[] args) {
        StringBuilder strBui = new StringBuilder();
        strBui.append("hello").append("world");

        String str = strBui.toString();
        System.out.println("StringBuilder转换为String输出:"+str);

        StringBuilder strBui1 = new StringBuilder(str);
        System.out.println("String转换为StringBuilder输出:"+strBui1);
    }
}

结果:
    StringBuilder转换为String输出:helloworld
    String转换为StringBuilder输出:helloworld

  • 运用StringBuilder使数组元素按格式拼接
package com.Brooke01;
/*
 * 数组元素按格式拼接
 */
public class StringBuilderTest2 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        String str = arrToString(arr);
        System.out.println("拼接后的字符串:"+str);
    }
    public static String arrToString(int[] arr) {
        StringBuilder strBui = new StringBuilder();
        strBui.append("[");
        for(int x=0;x<arr.length;x++) {
            if(x == arr.length-1) {
                strBui.append(arr[x]);
            }
            else {
                strBui.append(arr[x]).append(",");
            }
        }
        strBui.append("]");
        String str = strBui.toString();
        return str;
    }
}

结果:
    拼接后的字符串:[1,2,3,4,5]
  • String字符串转为StringBuilder并反转再转回String输出
package com.Brooke01;
/*
 * String字符串转为StringBuilder并反转再转回String输出
 */
import java.util.Scanner;

public class StringBuilderTest3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str = sc.nextLine();
        String strRes = myReserve(str);
        System.out.println("反转后的字符串是:"+strRes);
    }
    public static String myReserve(String str) {
        StringBuilder strBui = new StringBuilder(str);
        strBui.reverse();
        String str1 = strBui.toString();
        return str1;
    }
}


结果:
    请输入一个字符串:
    abcde
    反转后的字符串是:edcba
  • 判断字符串是否对称
package com.Brooke01;
/*
 * 判断字符串是否对称
 */
import java.util.Scanner;

public class StringBuilderTest4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str = sc.nextLine();
        boolean b = isSymmetry(str);
        System.out.println("是否对称:"+b);
    }
    public static boolean isSymmetry(String str) {
        StringBuilder strBui = new StringBuilder(str);
        strBui.reverse();
        String strRes = strBui.toString();
        return strRes.equals(str);
    }
}


结果:
    请输入一个字符串:
    abc
    是否对称:false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值