String类和StringBuffer类的相同点:
- String类和StringBuffer类都是用来处理字符串。
- String类和StringBuffer类都提供了length(),toString(),charAt(),subString()方法。
- String类和StringBuffer类的索引index都是从0开始的。
- String类是不可变类,StringBuffer类是可变类。
String对象创建过后,它的内容是无法改变的。一些看起来能改变字符串的方法,其实是创建并返回一个包含改变后内容的新字符串。比如,subString(),concat(),toLowerCase(),toUpperCase(),trim()等。
然而,StringBuffer类的append(),replaceAll(),insert(),setCharAt()等都会改变字符缓冲区中的字符串的内容。
2. String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖。
3. 两个类都覆盖了object类的toString()方法,但各自的实现方式不一样。
String类的toString()方法返回当String实例本身的引用。
而StringBuffer类的toString()方法返回当前StringBuffe缓冲区中的所有为内容的新的String对象的引用。
4. String类对象可以用“+”进行连接,而StringBuffe类不行。