乐趣区

关于java:和equals的区别

== 比拟的是两个对象的地址
equals 比拟的是两个对象的内容

如果一个类没有本人定义 equals 办法,那么它将继承 Object 类的 equals 办法,Object 类的 equals 办法的实现代码如下:

boolean equals(Object o){return this==o;}

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

退出移动版