我正在SCJP
考试,在一本书中找到了一行。
String s = new String("abc");
上面写着,将在上面一行创建两个对象。一对一。HEAP
_STRING POOL
我对那里的声明不满意。有人可以让我理解为什么要创建两个对象吗?
提前致谢。
我正在SCJP
考试,在一本书中找到了一行。
String s = new String("abc");
上面写着,将在上面一行创建两个对象。一对一。HEAP
_STRING POOL
我对那里的声明不满意。有人可以让我理解为什么要创建两个对象吗?
提前致谢。
作者是对的。当您使用字符串文字时,该文字首先会进入常量池。
因此在常量池中创建了“abc”。
当你使用新的关键字时,一个名为s
在堆上创建的新对象。
文字"abc"
被创建和实习(“字符串池”)。
操作员将new
创建一个String
未实习的新的。
对象 1 -"abc"
对象 2 -new String("abc")
作者是对的: