Java字符串生成器StringBuilder
来源:互联网 发布:黑龙江网络广播电视台 编辑:程序博客网 时间:2024/06/05 09:39
- 创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到附加新字符或字符串的目的,但“+”会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大地增加系统开销。而
J2SE5.0新增了可变的字符序列StringBuilder类,大大提高了频繁增加字符串的效率 - 验证时间效率
public class Jerque { // 新建类 public static void main(String[] args) { // 主方法 String str = ""; // 创建空字符串 // 定义对字符串执行操作的起始时间 long starTime = System.currentTimeMillis(); for (int i = 0; i < 10000; i++) { // 利用for循环执行10000次操作 str = str + i; // 循环追加字符串 } long endTime = System.currentTimeMillis(); // 定义对字符串操作后的时间 long time = endTime - starTime; // 计算对字符串执行操作的时间 System.out.println("Sting消耗时间:" + time); // 将执行的时间输出 StringBuilder builder = new StringBuilder(""); // 创建字符串生成器 starTime = System.currentTimeMillis(); // 定义操作执行前的时间 for (int j = 0; j < 10000; j++) { // 利用for循环进行操作 builder.append(j); // 循环追加字符 } endTime = System.currentTimeMillis(); // 定义操作后的时间 time = endTime - starTime; // 追加操作执行的时间 System.out.println("StringBuilder消耗时间:" + time); // 将操作时间输出 }}
运行结果
通过这一实例可以看出,两种操作执行的时间差距很大。如果在程序中频繁使用附加字符,建议使用StringBuilder。
若要使用StringBuilder最后输出字符串结果,可使用toString()方法。利用StringBuilder类中的方法可动态地执行添加、删除和插入等字符串的编辑操作。
append()
该方法用于向字符串生成器中追加内容。通过该方法的多个重载形式,可实现接受任何类型的数据,如int, boolean, char, String, double或者另一个字符串生成器等。
语法如下:
append(content)
其中,content表示要追加到字符串生成器中的内容,可以是任何类型的数据或者其他对象。
insert(int offset, arg)
该方法用于向字符串生成器中的指定位置插入数据内容。通过该方法的不同重载形式,可实现向字符串生成器中插入int 、float、char和boolean等基本数据类型或其他对象。语法如下:
insert(int offset, arg);
offset: 字符串生成器的位置。该参数必须大于等于0,且小于等于此序列的长度。
arg:将插入至字符串生成器的位置。该参数可以是任何的数据类型或其他对象。
StringBuilder bf=new StringBuilder("hello");bf.insert(5,world);System.out.printlf(bf.toString()); //输入为helloworld
delete(int start, int end)
移除此序列的子字符串中的字符。该子字符串从指定的start处开始,一直到索引end-1处的字符,如果不存在这种字符,则一直到序列尾部。如果start等于end,则不发生任何更改。语法如下:
delete(int star, int end);
start:将要删除的字符串的起点位置。
end:将要删除的字符串的终点位置。
StringBuilder bf=new StringBuilder("StringBuilder");bf.delete(5,10);System.out.printlf(bf.toString()); //输出为Strinder
阅读全文
0 0
- Java字符串生成器StringBuilder
- Java_11 字符串生成器 StringBuilder
- Java程序StringBuilder的效率,验证字符串操作和字符串生成器的操作效率
- Java探索之旅(10)——数组线性表ArrayList和字符串生成器StringBuffer/StringBuilder
- java 回文字符串(StringBuilder)
- java唯一的字符串生成器
- Java字符串之String StringBuilder
- Java字符串处理之StringBuilder
- Java字符串——字符串生成器
- Java字符串(四)--字符串生成器
- Java中的字符串 String, StringBuffer和StringBuilder
- JAVA 拼接字符串 加号问题 + StringBuilder/StringBuffer
- StringBuilder、StringBuffer与Java字符串处理
- Java字符串之String、StringBuilder、StringBuffer
- java字符串连接String、StringBuffer和StringBuilder
- Java- 字符串(String,StringBuffer,StringBuilder类)
- java字符串(String,StringBuffer,StringBuilder,StringTokenizer)
- java字符串拼接技巧(StringBuilder使用技巧)
- POJ1905 Expanding Rods(计算几何推公式+二分)
- hihoCoder
- 【Scikit-Learn 中文文档】内核岭回归
- 六周二次课(11月21日) 12.5 游标 12.6 mysql连接池 12.7 设计表结构
- tcp/ip学习笔记--第17章 TCP(transmission control protocol)
- Java字符串生成器StringBuilder
- c3p0使用
- 本地WP网站搬家到Bluehost
- MFC创建一个实现四则运算而且有优先级的计算器
- POI导出Excel(二)
- Hibernate关联映射(1)
- Maven私服
- python_通讯录
- 简单WordPress升级的方法