String,StringBuffer,StringBuilder

本文深入解析Java中的三种字符串类型:String、StringBuffer和StringBuilder。详细阐述了String的不可变性,以及StringBuffer和StringBuilder作为可变字符串的区别,包括它们的方法、性能特点及线程安全性。

String,StringBuder,StringBuffer
String
String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
有同志就会问了,String是可变的呀,你看如下代码

	String s="aaa";
	s="bbb";
	System.out.println(s);//打印出来是bbb
这里我就解释一下:这里的不可变是指的生成s的对象不可变,s对象栈内存所指向的堆内存地址可变,比如s在被重新赋值的时候,是在堆里重新生成了一个"bbb"的实例对象(如果之前没有这个对象就重新生成),s就指向这个对象,之前的aaa对象,如果没有被指定,就会别系统回收。

StringBuffer
StringBuffer代表一个可变的字符序列字符串,StringBuffer()创建之后可以用append(),insert(),reverse(),setCharAt(),setLength()等方法进行修改该字符串对象的字符序列。我们可以用toString()方法将其转换成一个String对象。
StringBuilder
  StringBuilder类也代表可变字符串对象。实际上,StringBuilder和StringBuffer基本相似,两个类的构造器和方法也基本相同。不同的是:StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值