String,StringBuilder,StringBuffer是经常考的东西
其中,String是不可变的。为什么呢,简单解释如下:
String类new了一个对象后,我们看到的该对象只是引用,存放了真正内存的地址。并不是真的内存值,如果修改它,会重新生成一个对象的内存值,然后重新引用。为什么这样处理呢,其实有内部原因。那就是,String类下面的成员函数,value,offset,count,hash都是有final关键字,所以不可修改。
详情可见下面的博客,很清楚
https://www.cnblogs.com/leskang/p/6110631.html