String,StringBuffer,StringBuilder各自的特性和区别

一,String 的特性

1,String是final类型,每次声明的都是不可变的对象,
2,所以每次操作都会产生新的String对象,然后将指针指向新的String对象。

注意:如下两者的内存分配方式是不一样的:

String s1 = "java"; 
String s2 = new String("java");

其中s1指向常量池,s2指向堆内存

二,StringBuffer,StringBuilder都是在原有对象上进行操作

所以,如果需要经常改变字符串内容,则建议采用这两者,因为不用一直开辟内存

三,StringBuffer vs StringBuilder

前者是线程安全的,后者是线程不安全的。
线程不安全性能更高,所以在开发中,优先采用StringBuilder.
StringBuilder > StringBuffer > String

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值