Java 中 new String("") 会创建几个对象?(超详细)
使用 new String("")
会创建一个或两个对象,处理流程如下:
- 首先,会在堆内存中创建了一个新的字符串对象。
- 另外,如果该字符串对象的值在常量池中不存在的话,还会在常量池中创建一个新的字符串对象。
需要注意的是,如果该字符串在常量池中已经存在,则不会在常量池中创建新的对象,而是直接返回已存在的对象的引用。这样可以避免创建多个相同的字符串对象,提高程序的性能和内存使用效率。
使用 new String("")
会创建一个或两个对象,处理流程如下:
需要注意的是,如果该字符串在常量池中已经存在,则不会在常量池中创建新的对象,而是直接返回已存在的对象的引用。这样可以避免创建多个相同的字符串对象,提高程序的性能和内存使用效率。