A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

siyuefeiyang

初级黑马

  • 黑马币:0

  • 帖子:6

  • 精华:0

本帖最后由 siyuefeiyang 于 2014-3-28 12:07 编辑

在做练习的时候对于这个比较字符串的方法,很纳闷有点晕,哪位大神给解释一下

THS

4 个回复

倒序浏览
陈年老问题,我也想旧问题新看下...
回复 使用道具 举报
      "==" : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
      "equals" : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
回复 使用道具 举报
①==操作符专门用来比较两个变量的值是否相等,也就是比较两个变量所对应的内存中所存储的数值是否相同。
②equals方法是用于比较两个独立对象的内容是否相同,它比较的两个对象是独立的。例如:
string a=new string("abc");
string b=new string("abc");
两个语句分别new出了两个对象,然后用a,b分别指向了对应的对象,这是两个不同的对象,他们的首地址是不同,即a,b中存的内存是不同的,所以表达式a==b将返回false,而这两个对象中存的值是相同的,所以表达式a.equals(b)将返回true;
回复 使用道具 举报
学习学习{:2_36:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马