美文网首页
Diagram to show Java String’s Im

Diagram to show Java String’s Im

作者: 简书小书童 | 来源:发表于2016-08-25 17:36 被阅读13次

    图解java中String的不可变性

    翻译自 What is string immutability

    1. 定义字符串
    String s = "abcd";
    

    s存储了字符串对象"abcd"的引用,也可以理解为s指向字符串对象"abcd"。


    1. 把一个String变量赋值给另一个String变量
    String s2 = s;
    

    s2也存储了字符串对象"abcd"的引用,s和s2都指向字符串对象"abcd"。


    1. 字符串连接
    s = s.concat("ef");
    

    这时s存储了一个新的字符串对象的引用,s指向新的字符串对象"abcdef"。


    总结:
    字符串一旦在内存(堆)中创建就不能改变。需要注意的是,String对象的所有方法都不会改变字符串本身,而是返回一个新的字符串对象。
    如果需要可变的字符串,则需要使用StringBuffer或StringBuilder。否则每次创建新的字符串对象,将导致大量的时间耗费在垃圾回收(Garbage Collection)上。

    StringBuilder mutableString = new StringBuilder();
    mutableString.append("abcd");
    mutableString.append("ef");
    mutableString.toString();
    

    相关文章

      网友评论

          本文标题:Diagram to show Java String’s Im

          本文链接:https://www.haomeiwen.com/subject/luxasttx.html