“xyz”是一个匿名对象。 new String() 一个。 str不是对象,是一个变量,只是指向new String() 的地址。
两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接从缓冲区拿。
尼玛又来了,月经贴里面有了!!
对于出这种题的,我只想说去年买了个表。 人家jdk实现一改答案又不一样了。面试官是不是还停留在JDK1.4
[quote=引用 1 楼 magi1201 的回复:] 两个 一个栈中的引用对象 一个堆中的内存地址保存的对象
两个 一个栈中的引用对象 一个堆中的内存地址保存的对象
81,092
社区成员
341,716
社区内容
加载中
试试用AI创作助手写篇文章吧