Java基础 第二篇 String

package cn.ys.test;

/*对于String ,顾名思义就是字符串,但是它最有意思的特点就是
  它的源码中使用final 来修饰这个类的,也就是说String对象一旦创建就不能修改,
  那么很多人就会有疑问了,为啥String不能修改那我们为啥还能执行下面的操作并输出ABCabc呢

  原因很简单,我们的对象创建都是在虚拟机中的堆区创建的,
  在执行ts=ts+"abc";这一段代码时,JVM上又新new了一个String对象来接收新的字符串,
  ts也跟着指向了新的对象,老的对象就相当于失去作用,等待时机被JVM回收
  详情请见链接
  https://blog.csdn.net/qq_38983577/article/details/81632827
*/
public class TestString {
    public static void test(){
        String ts=new String("ABC");
        ts=ts+"abc";
        System.out.println(ts);
    }

    public static void main(String[] args) {
        test();
    }

}

  JVM详情请见链接
  https://blog.csdn.net/qq_38983577/article/details/81632827

猜你喜欢

转载自blog.csdn.net/qq_38983577/article/details/81632939