下文笔者将围绕String这个特殊类阐述其创建对象的过程,如下所示:
String s = new String(\"java265.com\")
以上代码运行的将会在字符串池中创建一个“java265.com”
当我们运行new String时,将字符串池中的字符串复制到堆中,将堆的地址执行s
--------------------------------------------------------------------------------
通过上面的分析,我们可以得知,以上的操作
在jvm中最多产生两个对象(因为java265.com存在字符串池中时,只会创建一个对象)
例:
package com.java265.other; public class Test { public static void main(String[] args) throws Exception { String s1 = new String(\"java265.com\"); String s2 = new String(\"java265.com\"); if (s1 == s2) { System.out.println(\"堆中为相同一个对象\"); } else { System.out.println(\"堆中存在二个对象\"); } } } -------运行以上代码,将输出以下信息------ 堆中存在二个对象
转自:http://www.java265.com/JavaMianJing/202111/16376993271824.html
来源:https://www.cnblogs.com/java265/p/16201005.html
本站部分图文来源于网络,如有侵权请联系删除。