String的一个小问题

yzj123 2010-02-28 11:50:46
String s = new String("xyz");
创建了几个String Object?
...全文
380 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
lliiqiang 2010-03-05
  • 打赏
  • 举报
回复
创建了两个对象和一个引用.

引用s存放的是对象的地址而不是数值
豆虫 2010-03-04
  • 打赏
  • 举报
回复
引用 33 楼 bao110908 的回复:
这是 CSDN Java 版的周经帖!


的确看过N遍了。。。
孤独剑客 2010-03-03
  • 打赏
  • 举报
回复
晕菜, 又是这个, 别来了行不
两个, ThinkingInJava中的
east_java 2010-03-03
  • 打赏
  • 举报
回复
3个,构造函数中的一个,new一个,引用一个

http://www.java1995.cn/wiki/topic/2
zqfddqr 2010-03-03
  • 打赏
  • 举报
回复
。。。这种问题可以直接百度的 问过好多次了。。。
wang461137703 2010-03-03
  • 打赏
  • 举报
回复
两个,一个是放在池里,另一个放在了堆里。。。。。。
cwjieNo1 2010-03-03
  • 打赏
  • 举报
回复
仔细观察了一下,这个问题回帖的,都是等级不是很高的人·
  • 打赏
  • 举报
回复
我说产生 10 个对象,你难道把内存扒腾出来数数看不成?
  • 打赏
  • 举报
回复
这是 CSDN Java 版的周经帖!
xulei1987518 2010-03-02
  • 打赏
  • 举报
回复
顶,应该是2个吧……
swing_false 2010-03-02
  • 打赏
  • 举报
回复
2个吧 应该 第一是放在data区的 第二个放在堆空间中的
himlys 2010-03-02
  • 打赏
  • 举报
回复
String Object 就一个在字符串池里,对象和应该是3个
xxpp688 2010-03-01
  • 打赏
  • 举报
回复
String s = new String ("xyz");
是吧!楼主考我那:
这个问题要分情况讨论
首先要看存在不存在“xyz”(或者有无“xyz”)
一:
如果不存在“xyz”则创建了一个“xyz”对象;
二:
如果存在“xyz”那就是两个;
一个是:你创建的字符串“xyz”
一个是:字符串指向S的引用
liguang168 2010-03-01
  • 打赏
  • 举报
回复
这个问题争了几十年了,还有这么多人不知道。
有说1,2,3个的。

到底几个?自己慢慢理解,我觉得明白就行了,JAVA有一个字符串池。

字符串池有的话,不会重复生成,但new是肯定会生成一个新的对象。

所以String a = "abc";
String b = "abc";
String c = new String("abc");

a == b (true);
a == c (false);

a,本身也应该是一个对象。

OK.
狂想者 2010-03-01
  • 打赏
  • 举报
回复
学习一下,需要学习的太多了。。。。
智鹿软件 2010-03-01
  • 打赏
  • 举报
回复
String s = new String("xyz");
创建了3个对象:
(1)"xyz"
(2)new String("xyz")
(3)String s

解析:(1)创建对象"xyz"(2)再将该对象作为参数,创建new String("xyz")(3)创建对象s
最后:s指向new String("xyz")
musiclee 2010-03-01
  • 打赏
  • 举报
回复
我靠 还讨论这问题呢。。。。。。。
ahut12825 2010-03-01
  • 打赏
  • 举报
回复
3个,构造函数以个,new一个,引用一个
cheung1987 2010-03-01
  • 打赏
  • 举报
回复
mark,以前也看到这个问题有人发了,一直都很火
xueye052 2010-03-01
  • 打赏
  • 举报
回复
我是这样觉得的 两个或一个,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,这句代表就不会创建”xyz”自己了,直接从缓冲区拿。
加载更多回复(14)

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧