【Android】String、StringBuffer与StringBuilder的比较

  • StringBuilder:线程非安全的;(适用于 单线程大量数据操作)
  • StringBuffer:线程安全的;(适用于 多线程大量数据操作)
  • StringBuilder 处理速度要比 StringBudiler 快的多。

为什么StringBuilder 处理速度要比 StringBudiler 要快?

https://blog.csdn.net/weixin_34199335/article/details/89726229

https://blog.csdn.net/shuaishenkkk/article/details/18303625

看源码:

StringBuilder.class
@Override
public String toString() {
    if (count == 0) {
        return "";
    }
    return StringFactory.newStringFromChars(0, count, value);
}


StringBuffer.class
@Override
public synchronized String toString() {
    if (toStringCache == null) {
        toStringCache = Arrays.copyOfRange(value, 0, count);
    }
    return new String(toStringCache, 0, count);
}

 

synchronized 到底做了什么?或者决定了什么?

https://blog.csdn.net/u014040795/article/details/107390465

你可能感兴趣的:(Android开发笔记)