java之String,StringBuffer,StringBuilder,

                   java之String,StringBuffer,StringBuilder,

字符串是一系列连续的字符序列,java提供了String, 和StringBuffer两个类来封装字符串。并提供一系列方法来操作字符串对象。

String类是不可变类,即一旦一个String对象被创建以后,包含这个中的字符序列是不可变的,直至这个对象被销毁。

StringBuffer对象则代表一个字符序列可变的字符串,当一个、StringBuffer被创建后,可以通过其提供的方法改变对象的字符序列,一旦通过StringBuffer生成想要的字符串可以通过toString ()方法将其装换为一个String。StringBuffer在处理字符串时不生成新的对象,因此其优于String。 (StringBuffer是线程安全的

StringBulider: 其与StringBuffer基本相似,不同的是StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高(因为在维护同步数据的正确性上肯定是要消耗资源的){StringBuffer 尽管在拼接字符串时效率高于StringBuffer 但是最后还是好转成String类型, 而在大字符串拼接的情况下StringBuffer的toString ()要比StringBuilder 的toString ()执行速度,所以线程安全的情况下还是用StringBuffer 。}StringBuilder通常用在用在单线程中,

String类是不可改变的,String的实例一旦生成就不会在改变

String str1 = “java ”;

str2 = str1 + “struts”;

str3 = str1+ spring ;

 上面程序除了使用三个字符串直接量外,还会额外生成2个字符串直接量,-----“java”和“Struts”连接生成的“JavaStruts”接着Javastruts 与spring连接生成“javaStrutsSpring”程序中的str依次指向不同的字符串对象,因为String是不可改变的所以会额外产生许多变量,这会诊增减系统的开销

StringBuffer与StringBulider以就可以避免这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值