相同点:

1、三个类都被final修饰,代表了不可被继承
2、内部都是使用char数组来存储数据

不同点:

1、String无继承的父类;StringBuilder、StringBuffer继承了AbstractStringBuilder
2、String中的char数据被final修饰,这也是其不可变的原因;
3、StringBuilder存在并发安全的问题,StringBuffer通过在实例方法上加synchronized来保证线程安全