<分区>
我正在参加 SCJP
考试,在一本书中找到一行。
String s = new String("abc");
上面写着,将在上面的行中创建两个对象。一个在 HEAP
上,一个在 STRING POOL
上。
我对那里的声明不满意。谁能让我明白为什么要创建两个对象?
提前致谢。
<分区>
我正在参加 SCJP
考试,在一本书中找到一行。
String s = new String("abc");
上面写着,将在上面的行中创建两个对象。一个在 HEAP
上,一个在 STRING POOL
上。
我对那里的声明不满意。谁能让我明白为什么要创建两个对象?
提前致谢。
最佳答案
作者是对的。当您使用字符串文字时,该文字首先进入常量池。
因此在常量池中创建了“abc”。
并且当您使用 new 关键字时,会在堆上创建一个名为 s
的新对象。
关于JAVA : How many Objects will be created ? 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32885797/