疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java中对象的等价性的比较


 

Java中不能简单的用==!=等比较符对两个对象进行比较,尽管有时候两个对象的内容完全一样,但是对象的引用却是不一样的!因此,对两个对象的实际内容进行比较时,必须使用所有对象都适用的特殊方法equals()

  看下面一个例子:


  equals()方法不适用于"基本类型",基本类型直接使用==!=即可,这点从上例中也可以看出来。

  但是,事情并不是这么简单,对于我们自己创建的类,equals()默认比较两个对象的引用,如下例:


  所以除非在自己的新类中覆盖equals()方法,否则不可能表现出我们希望的行为。

(转载)