Java中StringBuilder类常用的几个方法
StringBuilder类
StringBuilder 类是 Java 中用于处理可变字符串的类,它提供了在字符串内部进行修改的方法,相比之下,String 类是不可变的,每次对字符串做修改都会创建一个新的字符串对象。因此,如果需要频繁对字符串进行修改操作,使用 StringBuilder 类会更加高效。
以下是 StringBuilder 类的一些常见方法:
append(String str):将指定字符串追加到当前StringBuilder对象的末尾。insert(int offset, String str):在指定位置插入指定字符串。delete(int start, int end):删除从起始位置到结束位置(不包括结束位置)的子串。deleteCharAt(int index):删除指定位置的字符。replace(int start, int end, String str):用指定字符串替换从起始位置到结束位置的子串。reverse():反转当前StringBuilder对象中的字符序列。length():返回当前字符序列的长度。charAt(int index):返回指定索引位置的字符。substring(int start)和substring(int start, int end):用于获取子字符串,可以传递开始位置和结束位置。toString():将StringBuilder对象转换为一个普通的不可变的String对象。
由于 StringBuilder 是可变的,可以对其进行多次修改操作而不必每次都创建新的对象,因此在需要频繁更改字符串内容的场景下,使用 StringBuilder 类可以提高效率。
以下是StringBuilder类的这些方法的具体使用示例:
各种方法的使用示例
下面是对 StringBuilder 中列出的方法的详细介绍和常见使用:
append(String str):常用场景: 用于在当前字符串的末尾追加指定字符串。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
System.out.println(sb.toString()); // 输出:Hello World
insert(int offset, String str):常用场景: 在指定的位置插入字符串。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World");
System.out.println(sb.toString()); // 输出:Hello World
delete(int start, int end):常用场景: 从起始位置到结束位置(不包括结束位置)删除子串。
示例用法:
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11);
System.out.println(sb.toString()); // 输出:Hello
deleteCharAt(int index):常用场景: 删除指定位置的字符。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
sb.deleteCharAt(1);
System.out.println(sb.toString()); // 输出:Helo
replace(int start, int end, String str):常用场景: 用指定字符串替换从起始位置到结束位置的子串。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
sb.replace(1, 4, "i");
System.out.println(sb.toString()); // 输出:Hilo
reverse():常用场景: 反转字符串内容。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
sb.reverse();
System.out.println(sb.toString()); // 输出:olleH
length():常用场景: 返回当前字符序列的长度。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
System.out.println(sb.length()); // 输出:5
charAt(int index):常用场景: 返回指定索引位置的字符。
示例用法:
StringBuilder sb = new StringBuilder("Hello");
System.out.println(sb.charAt(2)); // 输出:l
substring(int start)和substring(int start, int end):常用场景: 获取子字符串,可根据需要传递开始位置和结束位置。
示例用法:
StringBuilder sb = new StringBuilder("Hello World");
System.out.println(sb.substring(3)); // 输出:lo World
System.out.println(sb.substring(3, 7)); // 输出:lo W
toString():常用场景: 将
StringBuilder对象转换为一个普通的不可变的String对象。示例用法:
StringBuilder sb = new StringBuilder("Hello World");
String str = sb.toString();
System.out.println(str); // 输出:Hello World
使用这些方法,您可以对 StringBuilder 中的字符串进行各种修改操作,从而更高效地处理字符串拼接、删除、替换等操作。
Java中StringBuilder类常用的几个方法的更多相关文章
- Java中Object类常用的12个方法,你用过几个?
前言 Java 中的 Object 方法在面试中是一个非常高频的点,毕竟 Object 是所有类的“老祖宗”.Java 中所有的类都有一个共同的祖先 Object 类,子类都会继承所有 Object ...
- java中FILE类常用API介绍
- Java中Math类的几个四舍五入方法的区别
JAVA取整以及四舍五入 下面来介绍将小数值舍入为整数的几个方法:Math.ceil().Math.floor()和Math.round(). 这三个方法分别遵循下列舍入规则:Math.ceil()执 ...
- java中的类、成员变量、方法的修饰符。
http://blog.sina.com.cn/s/blog_7ffb8dd501011alw.html http://www.cnblogs.com/lixiaolun/p/4311727.html
- Java中math类的常用函数
Java中math类的常用函数 在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数.对数.平方根和三角函数等 只要在源文件的顶部加上下面这行代码就不必在数学方法名和常量名 ...
- Java之StringBuilder类
StringBuilder类的由来 由于String类的对象内容不可改变(底层是一个被final修饰的数组),所以每当我们进行字符串拼接时,总是会在内存中创建一个新的对象.如果对字符串进行拼接操作,每 ...
- Java之String类常用API
目录 Java之String类常用API char chatAt(int index) int length() char[] toCharArray() String(char value[]) S ...
- 『Java』StringBuilder类使用方法
String类存在的问题 String类的底层是一个被final修饰的byte[],不能改变. 为了解决以上问题,可以使用java.lang.StringBuilder类. StringBuilder ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
- Java中Properties类的操作
知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...
随机推荐
- ServiceMesh 4:实现流量染色和分级发布
★ ServiceMesh系列 1 什么是流量染色 在复杂的生产场景中,经常会有同一个服务中,存在多个版本长期共存的需求.为了让不同的用户在不一样的版本中使用,就需要对用户的请求进行采样和染色,打上不 ...
- C语言指针一些常见的错误用法
指针用的好犹如神助,用不好会让你叫苦连连,但大多数人是用不好指针的,所以后来的很多语言都把指针封装,屏蔽.比如JAVA,java是没有指针的,但是很多地方都用到指针,不过不对用户开放,语言的自身机制帮 ...
- 2023NOIP A层联测9 风信子+P2048 【NOI2010】 超级钢琴 2023
P2048 [NOI2010] 超级钢琴 2023NOIP A层联测9 风信子 一年 OI 一场空,一道原题见祖宗-- Ps:超级钢琴是风信子的前置题. 超级钢琴 题意 在一段序列上,选择长度为 \( ...
- CSP2023 游寄
CSP2023 游寄 没错,又寄. day -n 停课集训,天天打联测模拟赛,人麻了. day -n 请假回家了,人更麻了. 和姐姐拥抱了. 差点睡过头,天天下大雨,悲. 我妈和亲戚出去了,和哥在家通 ...
- k8s-部署应用
Deployment # app-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: app-web spec: ...
- (Python基础教程之十七)Python OrderedDict –有序字典
一个OrderedDict 维护插入顺序添加到字典中的项目.项目的顺序在迭代或序列化时也会保留. 1. Python OrderedDict示例 OrderedDict 是python collect ...
- JAXP(Java API for XML Parsing)
JAXP(Java API for XML Parsing) 过去几年中,XML分折已经被标准为两个不同的处理模型:SAX(Simple API for XML)以及DOM(Document O ...
- PowerShell 重命名文件夹及删除空文件夹
数据来源 $urldata 中的倒数第2列(子文件夹名称列)包含 /.\ 等特殊字符 某个文件夹重命名脚本 foreach ($i in 0..100) { # 提取路径部分 $basePath = ...
- 理解Java FutureTask
FutureTask实现的功能 它的功能就像他继承的接口一样:Runnable与Future.他实现了一套机制将两者连接起来. Runnable主要方法是run(),用于执行一些程序. Future主 ...
- 为什么Spring官方不推荐使用 @Autowired?
前言 很多人刚接触 Spring 的时候,对 @Autowired 绝对是爱得深沉. 一个注解,轻松搞定依赖注入,连代码量都省了. 谁不爱呢? 但慢慢地,尤其是跑到稍微复杂点的项目里,@Autowir ...