Java 中 new String("") 会创建几个对象?(超详细)

更新时间 2023-04-03 19:47:15

使用 new String("") 会创建一个或两个对象,处理流程如下:

  1. 首先,会在堆内存中创建了一个新的字符串对象。
  2. 另外,如果该字符串对象的值在常量池中不存在的话,还会在常量池中创建一个新的字符串对象。

需要注意的是,如果该字符串在常量池中已经存在,则不会在常量池中创建新的对象,而是直接返回已存在的对象的引用。这样可以避免创建多个相同的字符串对象,提高程序的性能和内存使用效率。