| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 608 人关注过本帖
标题:字符串的问题
取消只看楼主 加入收藏
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
结帖率:100%
收藏
已结贴  问题点数:40 回复次数:4 
字符串的问题

String str = "abc";  和 String str1 = new String("abc");的区别



不要告诉我第二个要用到构造函数,这个我知道,还有木有其他的区别
搜索更多相关主题的帖子: 字符串 
2013-11-30 09:04
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
求助啊

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-11-30 09:29
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
以下是引用仁道远在2013-11-30 10:16:43的发言:

str有一个对象"abc";
str1有两个对象“new”和“abc”;


什么意思???????????????

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-11-30 22:28
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
以下是引用韶志在2013-11-30 11:07:57的发言:

  比如说我们先有  String str = "abc";  再有一个  String str1 = "abc";  
第一句之后堆内存之后会存在 "abc", 而紧接着第二句的 str1 会指向堆内存中与 str 一样的"abc";这是为了节省内存

现在再来一句  String str2 = new String("abc");  
因为有 new 的出现,所以会 new 出一块新空间来存放"abc",和前两条语句的"abc"不是同一个指向。

再运行下面的程序看看:
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
System.out.println(str == str1);
结果是:
false
true
true



话说第一个不是存在常量池里吗?????????

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-11-30 22:29
小小程序猿
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:1
帖 子:755
专家分:2785
注 册:2013-7-18
收藏
得分:0 
以下是引用张永亮在2013-11-30 11:08:54的发言:

String str1="abc";
String str2="abc";
String str3=new String("abc");
System.out.print(str1==str2);
System.out.print(str1==str3);
str1==str2的判断将将返回true,str1创建字符串常量“str1”,java 虚拟机会检测字符串池是否包含该字符串,如果不包含,则创建,然后返回。str2也赋值“abc”,这是字符串池村子该字符,所以不再创建,直接返回该字符,两个变量引用同一一个字符串,他们的内存地址相同,所以str1==str2,但是使用new关键字创建字符串时会开辟新的空间,所以str1==str3不成立,现在你应该明白
String str1="abc";
String str3=new String("abc");
为什么不同了吧!



O(∩_∩)O谢谢,但是为什么说第二个产生两个对象呢???????????

孤独与寂寞是催化一个人迅速成长的良药,没有之一
2013-11-30 22:31
快速回复:字符串的问题
数据加载中...
 
   



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

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