首页 > 试题广场 >

关于String、StringBuilder以及String

[单选题]
关于String、StringBuilder以及StringBuffer,描述错误的是
  • 对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
  • StringBuffer是线程安全
  • StringBuilder是线程安全
  • 可以修改StringBuilder和StringBuffer的内容
StringBuffer:
public synchronized StringBuffer replace(int start, int end, String str);
public synchronized String substring(int start);
public synchronized StringBuffer insert(int offset, Object obj);
StringBuilder:
public StringBuilder replace(int start, int end, String str);
public StringBuilder append(Object obj);
public StringBuilder insert(int index, char[] str, int offset,int len)
StringBuffer是线程安全,所有跟字符串对象操作有关的操作就加了同步锁
StringBuilder是非线程安全的,但是单线程环境下访问操作就比StringBuffer更高效
发表于 2017-09-09 09:55:33 回复(0)
String每次进行赋值的时候都是创建了一个新对象,因为String字符串在底层就是静态char数组。而StringBuilder,StringBuffer底层是动态char数组且初始有一定长度,可改变(添加)新字符
发表于 2017-09-09 14:58:00 回复(0)