黑马程序员技术交流社区

标题: 字符串比较时什么时候该用”=“什么时候该用equals [打印本页]

作者: siyuefeiyang    时间: 2014-3-27 23:50
标题: 字符串比较时什么时候该用”=“什么时候该用equals
本帖最后由 siyuefeiyang 于 2014-3-28 12:07 编辑

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

THS
作者: mdb    时间: 2014-3-27 23:55
陈年老问题,我也想旧问题新看下...
作者: zou5268237    时间: 2014-3-28 00:18
      "==" : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
      "equals" : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
作者: cancle    时间: 2014-3-28 01:42
①==操作符专门用来比较两个变量的值是否相等,也就是比较两个变量所对应的内存中所存储的数值是否相同。
②equals方法是用于比较两个独立对象的内容是否相同,它比较的两个对象是独立的。例如:
string a=new string("abc");
string b=new string("abc");
两个语句分别new出了两个对象,然后用a,b分别指向了对应的对象,这是两个不同的对象,他们的首地址是不同,即a,b中存的内存是不同的,所以表达式a==b将返回false,而这两个对象中存的值是相同的,所以表达式a.equals(b)将返回true;
作者: 心灵苦旅    时间: 2014-3-28 09:35
学习学习{:2_36:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2