==与equals()

来源:互联网 发布:大乐透出号绝密算法 编辑:程序博客网 时间:2024/06/06 08:53

  • ==比较的是两个是不是一个东西,即是不是一个对象,equals()比较两个东西内容相不相同,
  • 如果是一个东西,那么其内容也一定相同,如果不是一个东西(对象),那么用equals()判断这两个对象内容是否相同,即先判断是不是一个对象(东西),再判断内容想不相同
  • 即==为true,则equals()一定为true(不用再比较,因为==为true证明为一个东西(对象));==为false,则证明是两个东西(对象),则用equals()判断两个对象内容是否相同。
  • ==比较的是内存中的引用地址,equals()比较的是内存中的内容

String a=new String("foo");

String b=new String("foo");

两条new语句创建了两个对象,然后用a/b这两个变量分别指向了其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a和b中存储的数值是不相同的,所以,表达式a==b将返回false,而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true。

原创粉丝点击