1、由于String类重写了hashCode()和equals()故内容相同的两个String类的equals()返回true;
2、StringBuffer没有重写hashCode()和equals()所以即便是内容相同的两个StringBuffer也返回false,除非与它本身才会返回true。所以一般会使用StringBuffer.toString();
3、List中调用remove()时会用到equals(),所以对于List中如果存放StringBuffer且调用remove()时需要注意,因为StringBuffer的equals()只有对它本身才会返回true。且List的remove()的顺序是从前面开始如果成功则返回true。
4、String是不可变的StringBuffer是可变的