a.equals(b)中 a,b要是String型,比较的就是他们在内存中存的数值,要是对象object,比较的就是这俩个object的地址,对么?

解决方案 »

  1.   

    String 中的equals()是覆盖了父类object的equals()是系统覆盖的
    如果是自己创建类的话,则需要自己写方法覆盖objcet的equlas方法
      

  2.   

    objcet的equals方法只是提供了比较两个对象的引用,如果引用相同则为true,如果引用不同则为flase
      

  3.   

    楼主你说得对!上面很多人说比较引用,你可能有点晕晕,因用指向的就是该对象的地址,所以可能出现这样的情况,多引用对应一个对象!!比较引用就是比较对象地址!为什么是这样的话是因为,String重写了从Object继承过来的equals方法,重新写为比较字符串里的内容!其实你也可以自己创建各类,重写个equals方法,可以实现不同的效果!