一道java面试题的疑问。

String s = new String("abc");创建了几个String对象?

我看了下答案说是三个,文字池中一个,堆中一个,栈中一个。
在我看来,栈中的变量s 应该是对new出来的对象引用,为什么也可以算作一个对象呢?

不知道你在哪里看的。。我认为这里只有两个对象,
你知道s是引用,不是对象就OK了。
尽信书,不如无书。。

嗯,同楼上。常量池一个,堆一个。请问楼主是在哪里看到的题目和解答?

String s = new String("abc");等价于 String s="abc"; String s2=new String(s);么?