创建了4个对象
既然说到这个问题 就不得不说String s = new String("aaaa");这个创建对象了
那么先说读者问的问题String s = "aa"+"ss"+"ddd"+"fff";
这个是创建了4个对象,因为字符串就是String的匿名对象,只要有一个字符串就创建了一个对象就相当于new String()这个,他们指向了不同的堆内存空间,但是他们都存在常量池中,字符串就是常量大小不能改变(但是StringBuffer和StringBulider是可变字符串)
而String s = new String("aa");这个是开辟了两块堆内存空间,分别指向了各自的地址空间,地址值不同 |