标题:关于String 内存
取消只看楼主
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
结帖率:81.48%
已结贴  问题点数:10 回复次数:3 
关于String 内存
String a=new String("good man");
当程序运行运行时,在加载代码时“good man”会加载在常量池中,
在这个构造函数中,会在内存中,会开辟一个字符串数组Values并且将
这个常量中的每个字符值赋给这个字符串数组,然后把Values的赋给a.
这样的理解对吗?

String a="good man";是直接把这个常量地坦赋给a.
搜索更多相关主题的帖子: Values 字符串 
2015-05-30 00:02
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
得分:0 
第二种 没有拷贝吧。

本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2015-05-31 06:43
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
得分:0 
第一种,会把常量池中的的字符一个个复制给一个字符串数组,然后把这个字符串数组的引用赋给a,是这样理解的吧。第二种就是直接引用常量池。

本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2015-05-31 20:46
小牛
Rank: 1
等 级:新手上路
威 望:1
帖 子:434
专家分:8
注 册:2006-10-1
得分:0 
有点不理解 , System.out.println(str2==str3);也为true.大神指点。

本店经营各类国际品牌运动鞋,板鞋,休闲鞋,有李宁,nike,匹克,阿迪达斯。
2015-06-06 07:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445971-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.774203 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved