当我们在创建字符串的时候会出现这两种情况,一种是常量池中已经有该字符串,一种是常量池中没有该字符串。当没有的时候会先在常量池中先创建一个字符串对象,然后再在堆中也创建一个字符串对象,然后将常量池中的对象内容拷贝到堆中的字符串对象,在堆内存中的字符串对象返回该地址,所以一共是创建了两个对象,但如果常量池中已经有了字符串对象,就不会在常量池中创建,所以创建了一个对象。
所以创建1或者2个对象
当我们在创建字符串的时候会出现这两种情况,一种是常量池中已经有该字符串,一种是常量池中没有该字符串。当没有的时候会先在常量池中先创建一个字符串对象,然后再在堆中也创建一个字符串对象,然后将常量池中的对象内容拷贝到堆中的字符串对象,在堆内存中的字符串对象返回该地址,所以一共是创建了两个对象,但如果常量池中已经有了字符串对象,就不会在常量池中创建,所以创建了一个对象。
所以创建1或者2个对象