Java字符串常量池面试题

String str = new String("ABC")+"abc";//字符串常量池中会创建多少个对象?

本例中,字符串常量池中会创建两个对象。

  • 首先,使用 new String("ABC") 创建了一个新的字符串对象,该对象的值为 "ABC"。这个对象不会被存储在字符串常量池中,而是被分配到堆内存中。
  • 然后,使用 "+" 运算符将新的字符串对象与字符串 "abc" 连接起来,形成一个新的字符串对象,该对象的值为 "ABCabc"。这个对象会被存储在字符串常量池中。

因此,字符串常量池中会创建两个对象,分别是 "ABC" 和 "ABCabc"。