Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:创建String对象的问题 [Re:javahum]
andykid





发贴: 18
积分: 0
于 2005-12-14 23:52 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
这样的解释欠妥当
String s2="aa" .这个句话并没有在栈中分配任何空间 。
引自关于java栈与堆的思考 作者 zdmilan
关于String str = "abc"的内部工作。Java内部将此语句转化为以下几个步骤:
  (1)先定义一个名为str的对String类的对象引用变量:String str;
  (2)在栈中查找有没有存放值为"abc"的地址,如果没有,则开辟一个存放字面值为"abc"的地址,接着创建一个新的String类的对象o,并将o 的字符串值指向这个地址,而且在栈中这个地址旁边记下这个引用的对象o。如果已经有了值为"abc"的地址,则查找对象o,并返回o的地址。
  (3)将str指向对象o的地址。
  值得注意的是,一般String类中字符串值都是直接存值的。但像String str = "abc";这种场合下,其字符串值却是保存了一个指向存在栈中数据的引用!

引用一下,讨论一下对错,以及对String的理解




话题树型展开
人气 标题 作者 字数 发贴时间
12902 创建String对象的问题 javahum 847 2005-12-11 16:58
12386 Re:创建String对象的问题 hamlet 840 2005-12-11 22:00
11590 Re:创建String对象的问题 Jcat 1013 2005-12-18 20:01
12009 Re:创建String对象的问题 Jcat 354 2005-12-18 20:10
11548 Re:创建String对象的问题 Jcat 883 2005-12-18 20:35
11283 Re:创建String对象的问题 andykid 231 2006-01-14 15:41
11696 Re:创建String对象的问题 zcjl 72 2006-01-14 16:16
11322 Re:创建String对象的问题 andykid 17 2006-01-14 17:10
11553 Re:创建String对象的问题 zxasqw 58 2005-12-11 22:21
11611 Re:创建String对象的问题 andykid 318 2005-12-12 22:58
11667 Re:创建String对象的问题 andykid 220 2005-12-12 23:03
11599 Re:创建String对象的问题 andykid 440 2005-12-12 23:11
11653 Re:创建String对象的问题 scarecrow 298 2005-12-14 16:02
11583 Re:创建String对象的问题 andykid 439 2005-12-14 23:52
11547 Re:创建String对象的问题 scarecrow 681 2005-12-15 11:04
11518 Re:创建String对象的问题 andykid 55 2005-12-16 00:01
11555 Re:创建String对象的问题 scarecrow 270 2005-12-16 10:28

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923