专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

StringBuilder方法API实例

StringBuilder

概述

StringBuilder是一个单线程,并且线程不安全的可变的字符串类。StringBuilder 的主要操作和StringBuffer很相像,本质上也是一个操作字符串的Java类,和StringBuffer有性能上的差异。核心方法是 appendinsert 方法,并且具有多种重载的形式,参数接受任意类型的数据。每个方法都能将指定的数据转换为字符串,然后将该数据的字符追加或插入到字符串生成器中。append 方法始根据指定的字符添加到对象的末尾,而 insert 方法则在指定的索引区间添加字符。

方法演示

append

@Test
public void append() {
    StringBuilder builder = new StringBuilder();
    System.out.println(
        builder
                .append(123) // int类型
                .append('c') // char类型
                .append(1.2f) // float类型
                .append(1.2d) // double类型
                .append(123L) //Long类型
                .append(false) //布尔类型
                .append(new char[]{'c','h','a','r'}) //字符数组类型
                .append(Arrays.toString(new Object[]{123})) //对象类型数组
                .append("string") //传入String字符串类型
                .append(new StringBuffer("obj")) //创建一个匿名StringBuffer对象
                .append(new char[]{'c','h','a','r'},0,2) //获取char型数组0-2索引之间的字符
                .append("CharSequence",0,2) //获取0-2索引区间的字符
                                        ); 
}

insert

@Test
public void insert() {
    StringBuilder builder = new StringBuilder("Builder");
    System.out.println(
        builder
                .insert(7, 1) // int类型参数
                .insert(8,'c') //char类型参数
                .insert(9,1L) // long类型参数
                .insert(10,1.2f) //float 类型参数
                .insert(13,1.2) // double类型参数
                .insert(16,true) //boolean类型参数
                .insert(20,new char[]{'c','h','a','r'}) //char型数组参数
                .insert(24, Arrays.toString(new Object[]{"obj"})) //对象类型参数
                 //char型数组参数,并截取指定区间的字符
                .insert(29,new char[]{'c','h','a','r'},0,2)
                .insert(31,"str") // String字符串类型参数
    );
}

delete

@Test
public void delete() {
    //delete: 删除指定区间的字符
    StringBuilder builder = new StringBuilder("builder");
    //删除0-4号索引区间的字符
    System.out.println(builder.delete(0, 4));
}

deleteCharAt

@Test
public void deleteCharAt() {
    //deleteCharAt: 删除指定索引位置的字符
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.deleteCharAt(6));
}

replace

@Test
public void replace() {
    //replace: 替换指定索引区间的字符
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.replace(5, 7, "ies"));
}

reverse

@Test
public void reverse() {
    //reverse: 反转字符串
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.reverse());
}

capacity

@Test
public void capacity() {
    //capacity: 获取字符串长度,默认长度为16
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.capacity());
}

getChars

@Test
public void getChars() {
    //getChars: 将指定索引区间的字符复制到另一个数组当中
    StringBuilder builder = new StringBuilder("getChars");
    char[] chars = new char[10];
    //复制0-2区间的字符到char数组中
    builder.getChars(0,2,chars,0);
    System.out.println("builder = " + builder);
    //此时打印字符为ge
    System.out.println(chars);
}

setCharAt

@Test
public void setCharAt() {
    //setCharAt: 替换指定索引的字符
    StringBuilder builder = new StringBuilder("builder");
    builder.setCharAt(6,'c');
    System.out.println(builder);
}

substring

@Test
public void substring() {
    //substring: 截取指定索引区间的字符
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.substring(1)); //截取掉1号索引字符
    System.out.println(builder.substring(0, 4)); //截取0-4索引区间的字符
}

indexOf

@Test
public void indexOf() {
    //indexOf: 返回指定字符的索引值
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.indexOf("r"));
    //获取u字符,从指定索引值开始查询
    System.out.println(builder.indexOf("d", 3));
}

lastIndexOf

@Test
public void lastIndexOf() {
    //lastIndexOf:返回指定子字符最右边出现的字符串内的索引
    StringBuilder builder = new StringBuilder("builder");
    System.out.println(builder.lastIndexOf("e"));
    //获取b字符从0号索引开始查询
    System.out.println(builder.lastIndexOf("b", 0));
}

未经允许不得转载:搜云库技术团队 » StringBuilder方法API实例

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们