栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java的StringBuilder

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java的StringBuilder

        创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然使用“+”可以达到“附加”新字符串的目的,但“+”会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大地增加系统开销。而J2SE5.0新增了可变的字符序列String-Builder类,大大提高了频繁增加字符串的效率。

String str_1 = "";
long starTime = System.currentTimeMillis();
for(int i = 0; i < 100000; i++)
{
	str_1 = str_1 + (char)i;
}
long endTime = System.currentTimeMillis();
System.out.println("String消耗时间:" + (endTime - starTime));
StringBuilder builder_1 = new StringBuilder("");
starTime = System.currentTimeMillis();
for(int i = 0; i < 100000; i++)
{
//	builder_1 += i;		会报错
	builder_1.append((char)i);
}
endTime = System.currentTimeMillis();
System.out.println("StringBuilder消耗时间为:" + (endTime - starTime));

        

        通过这一实例可以看出,两种操作执行的时间差距很大。如果在程序中频繁地“附加”字符串,建议使用StringBuilder。

        1. append()方法

        该方法用于追加内容。通过该方法的多个重载形式,可实现接受任何类型的数据。如:int、boolean、char、Stirng、double或者另一个字符串等。                // append(content)

StringBuilder builder_2 = new StringBuilder("I like the java");
System.out.println("append前:" + builder_2);
builder_2.append(" and the python");
System.out.println("append后:" + builder_2);
System.out.println("builder.toString() = " + builder_2.toString());

                 

         2. insert(int offset arg)

        offset:位置。该参数必须大于等于0,且小于等于此序列的长度

        arg:将插入至字符串的位置。该参数可以是任何的数据类型或其他对象

StringBuilder builder_3 = new StringBuilder("I java");
System.out.println("insert前:" + builder_3);
builder_3.insert(2, "like the");
System.out.println("insert后:" + builder_3);
System.out.println("builder_3.toString() = " + builder_3.toString());

                

        3. delete(int start, int end)

        start:将要删除的字符串的起点位置

        end:将要删除字符串的终点位置

StringBuilder builder_4 = new StringBuilder("Hello word");
System.out.println("delete前:" + builder_4);
builder_4.delete(5, builder_4.length());
System.out.println("delete后:" + builder_4);
System.out.println("builder_4.toString() = " + builder_4.toString());

                 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号