StringBuilder
- API和StringBuffer兼容,不保证线程安全
- 相比于StringBuffer,更推荐StringBuilder,因为更快。
- 如果要线程安全就去用StringBuffer
- 初始容量16,容量不够时会自动扩容
- 一般情况下是不接受null值的,直接抛出空指针异常。但是如果是append StringBuffer或者StringBuilder,他们的值为null,会变成原来的是值加上null字符串
- array的最大长度为Integer.MAX_VALUE-8;如果要求的长度过大,会抛出OutOfMemoryError
StringBuffer
- 线程安全,实现方式就是在基本所有方法前加synchronized。其余差别不大