StringBuilder类与与String类的功能类似,它们有什么区别呢?
String 对象是不可改变的,每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间,如果是需要对字符串执行重复修改,就要不断的创建新的 String 对象。如果要修改字符串而不创建新的对象,则可以使用StringBuilder 类。如:在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
package ceshi;
public class Test {
public static void main(String[] args) {
String text="";
long begintime=System.currentTimeMillis();
for(int i=0;i<10000;i++)
text=text+i;
long endtime=System.currentTimeMillis();
System.out.println("执行时间:" +(endtime-begintime));
StringBuilder buildertxt = new StringBuilder("");
begintime=System.currentTimeMillis();
for(int i=0; i<10000;i++)
buildertxt.append(i);
endtime=System.currentTimeMillis();
System.out.println("执行时间:" + (endtime-begintime));
}
}
输出的执行时间肯定是第一次大,i值越大差距越大。
通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的实例,如:
StringBuilder mystr = new StringBuilder("Welcome!");
StringBuilder的属性
Capacity:当前为实例分配的字符数量。默认容量是16.
Length: 对象内的字符串长度的值
StringBuilder的方法
Append:方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder 对象表示的字符串的结尾处。
Insert:方法将字符串或对象添加到当前 StringBuilder 中的指定位置。如:bildertxt.insert(2,"insert");
replace(int start, int end, String str):用str替换StringBuilder中指定位置的字符。
StringBuilder.Remove:从当前 StringBuilder 对象中移除指定数量的字符。
delete(int start, int end)、deleteCharAt(int index):删除从start到end间的字符(不包括end)。
StringBuilder.reverse():倒序排列字符。
ToString( ):转换为字符串输出。
分享到:
相关推荐
String和StringBuilder类的区String和StringBuilder类的区别String和StringBuilder类的区别String和StringBuilder类的区别别
String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别 String、StringBuilder和StringBuffer的区别
String,StringBuffer,StringBuilder区别。几乎所有的应用开发都离不开操作字符串,理解字符串的设计和实现以及相关 工具如拼接类的使用,对写出高质量代码是非常有帮助的
String StringBuffer和StringBuilder 区别之源码解析 从源码角度简单对它们之间的区别进行了验证
String类的应用 ””,null和string.Empty的区别 Stringbuilder方法 StringBuilder 和 String 的区别?
这个文件里的内容适合Java初学者,String类为引用类,不属于基本数据类型,但是String类非常的重要,在后边学习的JavaSE中,几乎使用的全是String类,这个文件里边包含了对String字符串的拆分、拼接以及怎么声明进行...
stringbuilder用法 String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String、StringBuilder、StringBuffer 用法比较String...
介绍了String、StringBuffer、StringBuilder的使用方法,以及理论知识
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。 在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,...
String ,StringBuffer与StringBuilder的区别
String:字符串常量 StringBuffer:字符创... StringBuilder:字符创变量 从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:
day09【API、String类、StringBuilder类】.pdf
StringBuilder类所创造出来的字符串对象在拼接操作等方面比普通的string类往往要高效很多,这是它们在内存划分方式上的不同所决定的,下面就来浅析C#中StringBuilder类的高效及与String的对比
二、String类和StringBuilder类有什么区别? String类和StringBuilder类的最主要区别在于可变性。String类是不可变的,一旦创建了一个字符串对象,就无法修改它。而StringBuilder类是可变的,可以在缓冲区中修改字符...
string,stringbuffer,stringbuilder
简单的介绍了String、StringBuffer和StringBuilder的区别
Java的StringBuffer和StringBuilder类是用于字符串操作的可变字符序列类。本文将介绍Java StringBuffer和StringBuilder类的常见操作和用法,包括创建、追加、插入、删除、替换、反转等操作。我们还会讨论如何获取...
String及StringBuffer和StringBuilder的区别
测试string的+和String.Format()和StringBuilder.Append()性能差距,一个检测它们时间的测试