1.String
String 实际上是常量
比如: String str = "nice job"
"nice job" 这个字符串本身是一个常量,并不会发生变化
str += "you have done !",实际上是将 str 指向了另一个新的字符串常量 "nice job you have done !"
2.StringBuilder 和StringBuffer
StringBuilder 和 StringBuffer 则是通过字符串变量实现的,这两个类的对象所包含的字符串发生变化时,会在原有的内容上进行变动,而不是像 String 那样直接生成一个新的字符串,将旧的字符串留给 JVM 去回收。
StringBuilder 和 StringBuffer 一般来说效率会比 String 要高,因此在处理大量的字符串时,建议使用StringBuilder 和 StringBuffer 以提升效率。
StringBuilder 和 StringBuffer 的区别在于 StringBuffer 是线程安全的,而 StringBuilder 则不是。StringBuilder 可以在单线程的环境中很好地完成大量字符串的处理工作,如果在多线程环境中,还是要采用 StringBuffer。
3.常用的方法
- StringBuilder 中包含了一些基本的增删查改操作,包括append(), insert(), replace(), delete(), indexOf(), lastIndexOf(), 特殊一点的有 reverse()
- StringBuffer 中的操作更丰富一些,除了 StringBuilder中 提供的操作外,还有获取子串(如subString()),裁剪等操作
- String 中的操作最多,如格式化、连接、分离、包含(contains) 等很有用的方法
4.附录
如何在 eclipse 中添加 java 的源码以及 api 文档:
http://blog.csdn.net/fengyufuchen/article/details/44139927