如何使用StringBuilder为字符串对象添加、编辑值并访问对应内容
概念纠正
你对现有代码的理解存在偏差:StringBuilder str = new StringBuilder(test); 这行代码创建的是名为str的StringBuilder实例对象,初始内容是传入参数test中存储的字符串值,并没有创建名为test的字符串对象。
实现内容追加的核心方法
StringBuilder本身提供了两个基础方法满足内容添加需求:
- 末尾追加:调用
append()方法,直接在现有字符串的末尾拼接新内容,示例:
如果你要在初始内容后加sub test,可以添加自定义分隔符(比如冒号、竖线,方便后续拆分提取),写法为str.append(":sub test");,拼接后整体内容为[test原有值]:sub test。 - 指定位置插入:如果不想把内容加在末尾,调用
insert(偏移量, 待插入内容),偏移量从0开始计数,对应字符串的首位字符位置,比如要在最开头加内容可以写str.insert(0, "前缀内容:");。
访问提取特定值的实现方式
不需要使用二维数组,结合String的基础方法就能实现内容提取:
- 先将StringBuilder实例转换为普通字符串:
String fullStr = str.toString(); - 如果你之前使用了固定分隔符拼接内容,调用
split(分隔符)方法拆分即可得到各段内容,示例:
用冒号作为分隔符时,String[] parts = fullStr.split(":");,拆分后parts[0]就是初始的主内容,parts[1]就是你追加的sub test子内容。 - 如果要提取指定位置的子串,调用
substring(起始下标, 结束下标)即可,比如提取前4个字符的写法为fullStr.substring(0,4)。
完整示例代码
// 定义初始的test字符串 String test = "主分类内容"; // 创建StringBuilder对象,初始内容为test的值 StringBuilder str = new StringBuilder(test); // 追加子分类内容,用冒号做分隔符 str.append(":sub test"); // 输出完整拼接后的内容 System.out.println(str.toString()); // 拆分提取主、子内容 String[] contentArr = str.toString().split(":"); String mainContent = contentArr[0]; // 取值为"主分类内容" String subContent = contentArr[1]; // 取值为"sub test"
内容的提问来源于stack exchange,提问作者unio
相关产品推荐
相关产品推荐

