String s1 = new String("abc");这句话创建了几个字符串对象?

String s1 = new String("abc");这句话创建了几个字符串对象?

会创建 1 或 2 个字符串

  • 如果字符串常量池中已存在字符串常量“abc”,则只会在堆空间创建一个字符串常量“abc”
  • 如果字符串常量池中没有字符串常量“abc”,那么它将首先在字符串常量池中创建,然后在堆空间中创建,因此将创建总共 2 个字符串对象。

 

posted @ 2021-10-23 22:20  Vincent-yuan  阅读(718)  评论(0编辑  收藏  举报