| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 665 人关注过本帖
标题:[求助]关于Java创建String对象的问题
只看楼主 加入收藏
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
 问题点数:0 回复次数:7 
[求助]关于Java创建String对象的问题

String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
以上结果是false,true;
String s1="abc";
String s2="abc";
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
以上结果是两个true;
这两种创建String对象的方法不同在哪里?请高手结合内存的分配讲一下,谢了!

搜索更多相关主题的帖子: String Java 对象 
2007-08-07 14:14
lengfeng06
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-25
收藏
得分:0 
用==比较的是两个对象的引用(可以理解为内存地址),用equals才是比较对象的值,当你申明String s1="abc";String s2="abc";时系统会自动将“abc”放在一个内存地址中,故而s1==s2,而申明String s1=new String("abc");String s2=new String("abc");则按照一般的对象来处理,所以用==比较是不相等的
2007-08-07 14:35
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
也就是说,如果我象String s1="abc";String s2="abc"这样直接赋值,并且引号内的内容相同的话,s1和s2会指向同一个内存单元了?

I'm here, as always...
2007-08-07 14:53
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
还有就是,在Java里面,是不是只有String类可以这样直接赋值?还有其他类吗?

I'm here, as always...
2007-08-07 14:55
steven_yaoo
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-7
收藏
得分:0 
回复:(hwoarangzk)还有就是,在Java里面,是不是只...
基本数据类型都可以直接赋值
byte char int long short float double
如: int i=9;
除此之外 JAVA里的对象都是由new关键字 创建的

富家不用买良田,JAVA自有千锺粟; 安居不用架高楼,JAVA自有黄金屋; 娶妻莫恨无良媒,JAVA自有颜如玉;
2007-08-07 15:08
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

谢谢LS的...不过我知道基本数据类型是可以直接赋值的,也许我没说清楚,我的意思是,String是一个类,而其他的基本数据并不是一个类,虽然有各自的包装类,但是像String s1="abc"这样用类来直接给对象赋值而不用new来创建对象的还有其他的吗?谢谢


I'm here, as always...
2007-08-07 15:17
steven_yaoo
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-8-7
收藏
得分:0 
String s1="abc"
并不是建立新的对象
而是将一个字符串对象abc的引用给s1
"abc"这个对象是早就存在的


富家不用买良田,JAVA自有千锺粟; 安居不用架高楼,JAVA自有黄金屋; 娶妻莫恨无良媒,JAVA自有颜如玉;
2007-08-07 15:33
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

原来如此,明白了,谢谢


I'm here, as always...
2007-08-07 15:36
快速回复:[求助]关于Java创建String对象的问题
数据加载中...
 
   



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

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