Java StringBuilder 类

淺唱寂寞╮ 提交于 2020-03-02 14:46:36


StringBuilder

  • StringBuilder 是可变的字符序列,是 Java 5.0 新增的类;
  • 包括方法 append(E e), reverse(), length(), toString() ;

1. 构造方法

构造方法 说明
StringBuilder() 创建一个空的字符串缓冲区,初始容量为16个字符
StringBuilder(int capacity) 创建一个空的字符串缓冲区,初始容量为 capacity
StringBuilder(String s) 创建一个字符串缓冲区,其内容初始化为指定字符串 s,初始容量为 s 的长度 + 16个字符

2. 常用方法

类型 方法 说明
StringBuilder append(String s) 追加字符串
StringBuilder insert(int offset, String s) 在 offset 位置插入字符串 s
StringBuilder deleteCharAt(int index) 删除字符
StringBuilder delete(int start, int end) 删除子字符串,包含开始,不包含结束
void setCharAt(int index, char ch) 替换字符
StringBuilder replace(int start, int end, String s) 替换字符,包含开始,不包含结束
StringBuilder reverse() 反转字符串内容
String toString() 转换为字符串
        //empty.public StringBuilder()
        StringBuilder sb = new StringBuilder();
        System.out.println("sb:" + sb);
        System.out.println("sb.length():" + sb.length());
        //1. public StringBuilder(String str)
        StringBuilder sb1 = new StringBuilder("hello");
        System.out.println("sb1:" + sb1);
        System.out.println("sb1.length():" + sb1.length());
        //2. public StringBuilder append(任意类型)
        StringBuilder sb2 = sb.append("hello");
        System.out.println("sb:" + sb);
        System.out.println("sb2:" + sb2);
        System.out.println(sb == sb2);//true
        //3. 链式编程
        sb.append("hello").append("world").append("java").append(100);
        System.out.println("sb:" + sb);

3. 常用方法体

a. 数组拼接成字符串

    public static String arrayToString(int[] arr) {
        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 s = sb.toString();
        return s;
    }

b. 反转

        public static String myReverse(String s) {
            return new StringBuilder(s).reverse().toString();
        }

c. 去掉最后一个字符

            StringBuilder sb = new StringBuilder();
            sb.deleteCharAt(sb.length() - 1);
            return sb.toString();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!