CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

再说“==”

楼主eastjy()2003-08-01 04:20:28 在 Java / J2SE / 基础类 提问

class     QQ  
  {  
  public   static   void   main(String[]   args)    
  {  
  String   a=new   String("hi");  
  String   b=new   String("hi");  
   
  String   cc="hi";  
  String   dd="hi";  
                   
  System.out.println(a==b);  
  System.out.println(a.equals(b));  
   
  System.out.println(cc==dd);  
  System.out.println(cc.equals(dd));  
   
  }  
  }  
  结果:false   true   true   true 问题点数:20、回复次数:5Top

1 楼ChDw(米)回复于 2003-08-01 05:19:33 得分 0

==   表示判断两个对象是否相同,两个对象都指向同一个地址返回True  
  equals   判断两个对象是否相等,String重载了该方法,变成判断是否所以字符都相等Top

2 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2003-08-01 06:48:22 得分 0

要比较对象的值是否相等要用equals   ,  
  ==是比较对象的引用是否一样  
   
  但是对于基本的数据类型,==和equals就一样了,都是比较值是否相等Top

3 楼mingjob(小一号)回复于 2003-08-01 08:34:29 得分 0

See:  
   
  http://expert.csdn.net/Expert/topic/2045/2045573.xml?temp=.6041986Top

4 楼eastjy()回复于 2003-08-01 14:52:48 得分 0

偶的问题主要是   cc和dd   为啥能   ==   ,对于String类,   String   cc=“hi”,  
  和String   a=new   String(“hi”)   为啥不一样呐  
  Top

5 楼cuihao(java_豆)回复于 2003-08-01 15:05:04 得分 20

String   cc="hi";  
  String   dd="hi";  
  在内存里cc   dd都是指的是一个地址空间  
  String   a=new   String("hi");  
  String   b=new   String("hi");  
  a   b指的是两个不同的地址空间  
  new   的意思就是新分配一块空间  
   
  如果不用new   象这样String   cc="hi";   无论多少个   都是指同一地址  
  Top

相关问题

  • 给了这5分再说。
  • 挂个名,看看再说
  • 报到!以后再说!!
  • zhipop,再说句实话。。。
  • 烦,送100分再说
  • 大家再说说看
  • 再说文本换行。
  • 进来,“日后再说” 者
  • 再说MessageBox的怪问题!!!!!!!
  • 再说个笑话,问个问题。

关键词

  • 相等
  • 对象
  • cc
  • 是否
  • 地址
  • dd
  • 判断
  • equals
  • 一样
  • 空间

得分解答快速导航

  • 帖主:eastjy
  • cuihao

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo