StringBuilder类与String类的区别

  String对象是不可改变的,每次使用String类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可使用StringBuilder类。

  对于String类我就不想举例了,使用的很普遍。对于像我这样的初学者来说,StringBuilder类用到的情况相对较少,通常容易碰到的情况是:当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。具体化一点就是大家有时候在程序中写SQL的时候,比如我们需要同时执行多个SQL语句,那么我们就可以采用StringBuilder类,来实现同时执行多条SQL语句,从而也可以实现SQL事物的回滚。

时间: 2024-10-11 10:16:24

StringBuilder类与String类的区别的相关文章

C#中 StringBuilder类 与 String类的区别---(转)

  在找工作的时候,去了些公司,避免不了要面试和笔试.不过一般最起初的是笔试.我印象中有这样有一道题目:StringBuilder类与 String类的区别?那时候我不太清楚这两个类的区别,今天在看代码的时候,看到同事也用了StringBuilder类.于是我就上网查查了资料,也想总结下StringBuilder类与 String类的区别.学计算机语言的人一定要明白哦,说不定那天你去找工作了,也会遇到这个问题呢. String 对象是不可改变的.每次使用 System.String 类中的方法之

tchar 输入输出类 和 string 类 函数简单说明 总结各种前缀后缀

标准输入输出printf类_tprintf : 类同printf_tprintf_l : 类同printf, 但是"_l"表示第二个参数是一个locale.locale是操作系统对语言设定的参数, 这个会影响ANSI字符的语言识别, 在Unicode下应该是无差别的_tprintf_s : 类图printf, 但是和_tprintf相比, _tprintf_s多会做一些检查工作.如果你的"format string"是动态的, 这个能帮助你._tprintf_s_l

java常用类之String类

public class StringTest{ /* * 1.字符串类: String . * 1) 什么是字符串? * 用一对双引号将一个或多个字符括起来组成的字符系列.例如: "A" "ABC" * 特殊的串: 一对连续的双引号.即: "" ,它称之为空串.也称之为长度为0的字符串. * * 2) 字符串的特性: * a) 字符串属于引用类型,一个字符串就是一个对象. * b) 字符串是不变的. * c) 字符串中每一个字符都有一个索引号(

Object类和String类equals方法有什么区别?

相信很多学习过Java的同学都知道,在比较两个String对象的内容是否相同时是使用equals方法的 如:String str1=new String("A"); String str2=new String("B"); String str3=new String("B"); boolean result1= str1.equals(str2); boolean result2= str2.equals(str3); System.out.p

【Java-常用类】String类,StringBuffer类,StringBuilder类

String类 String类是一个final类,代表不可变的字符串序列 字符串是不可变的,一个字符串一旦被分贝,其内容是不可变的 字符串中判断对象相等是"=",判断内容相等是"equals()": String s1 = "ttf"; String s2 = "java"; String s3 = "java"; String s4 = new String("java"); Stri

黑马程序员--Java基础学习笔记【Object类、String类】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Object类 在Java类继承结构中,java.lang.Object类位于顶端. 所有类都直接或间接继承Object类. (接口不能继承Object类,接口中隐含定义了Object类的所有公共方法,但是全抽象) Object类型的引用变量可以指向任何类型对象. Object类成员方法 public String toString() { return getClass().getName(

JavaSE入门学习28:Java常用类之String类(下)

七字符串的不变性 String对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同.如 下图所示: 运行结果: 结合上面的代码,关于字符串必须要了解的: 1)通过String s1="爱慕课"; 声明了一个字符串对象, s1存放了到字符串对象的引用,在内存中的存放引用关系如 下图所示: 然后通过s1="欢迎来到:"+s1; 改变了字符串s1 ,其实质是创建了新的字符串对象,变量s1指向了新创建的字符 串对象,如下图所示: 2)一旦

String类,string类的特点

1,String类是final修饰的,不能被继承 2,String类的底层使用数组存储 JDK1.9之前:char[]value JDK1.9之后:byte[]value 3,String类的对象不可变 (1),字符串常量池中存储字符串常量,可以共享 (2),每次修改都会产生新对象,频繁修改的话效率不高 如果涉及到大量的字符串修改操作,建议使用StringBuffer或StringBuilder 如何实现不可变的? (1),类本身不能继承,没有子类会重写 (2),底层存储的value数组都是fi

java常见类之String类

1.字符串概述 字符串:就是由多个字符组成的一串字符,也可以看成是字符数组. String类代表字符串,java程序中的字符串字面值,如"abc"等都作为此类的实例实现. 字符串是常量,一旦被赋值,就不能被改变. 2.String的构造方法 public String() 空构造 public String(byte[] bytes) 把字节数组转换成字符串 public String(byte[] bytes,int offset,int length) 把字节数组的指定索引长度的字