String 一旦赋值就不能重新赋值

String 一旦赋值就不能重新赋值,因为重新赋值会再开辟一个空间存放新的值。string  是fall修饰


String对象不可修改指的是对象本身不可修改,而不是引用不可修改。

String a = "你好";

这行代码的意思是声明一个String类型的引用变量叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。

a = "hello";

这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。如果之后内存中那个“你好”的String对象没有任何引用,那么就会被下一次垃圾回收器运行时回收。

String和所有的基本类型包装类的对象都是不变量。内存中的不变量对象的值是不能被改变的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,797评论 1 32
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,736评论 0 38
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,891评论 2 9
  • 从网上复制的,看别人的比较全面,自己搬过来,方便以后查找。原链接:https://www.cnblogs.com/...
    lxtyp阅读 5,148评论 0 9
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,042评论 0 4