== 比拟的是两个对象的地址
equals比拟的是两个对象的内容
如果一个类没有本人定义equals办法,那么它将继承Object类的equals办法,Object类的equals办法的实现代码如下:
boolean equals(Object o){ return this==o;}
这阐明,如果一个类没有本人定义equals办法,它默认的equals办法(从Object类继承的)就是应用==操作符,也是在比拟两个变量指向的对象是否是同一对象,这时候应用equals和应用==会失去同样的后果,如果比拟的是两个独立的对象则总返回false。如果你编写的类心愿可能比拟该类创立的两个实例对象的内容是否雷同,那么你必须笼罩equals办法,由你本人写代码来决定在什么状况即可认为两个对象的内容是雷同的。