String StringBuilder StringBuffer
Posted 博客首页
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String StringBuilder StringBuffer相关的知识,希望对你有一定的参考价值。
1.可变与不可变
String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。
private final char value[];
StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下就是,可知这两种对象都是可变的。
char[] value;
2.是否多线程安全
String中的对象是不可变的,也就可以理解为常量,显然线程安全。
AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。
StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。
以上是关于String StringBuilder StringBuffer的主要内容,如果未能解决你的问题,请参考以下文章
String,StringBuffer与StringBuilder
String,StringBuffer与StringBuilder
Java String StringBuffer StringBuilder