JAVA基础——不可变的String

  String对象是不可变的,查看JDK文档可以发现String类被final修饰。

  String类中很多方法看似会修改String的值,实际上是创建了一个全新的String对象,而最初的String对象是没有改变的。以String的replace()方法为例:

public class StringTest {
    public static void main(String[] args){
        String str = "小许大世界";
        System.out.println(str);  //小许大世界
        String newStr = str.replace("小许","xiaoxu");
        System.out.println(newStr);  //xiaoxu大世界
        System.out.println(str);  //小许大世界
    }
}
/*output:
小许大世界
xiaoxu大世界
小许大世界
*/
 

  从输出结果可以看出来,str调用了replace()方法,但是其自身的值并没有改变,replace()方法只是返回来一个新的String对象。

posted @ 2019-05-18 16:02  小许大世界  阅读(53)  评论(0)    收藏  举报