首页 > 代码库 > class.equals

class.equals

public boolean equals(Object obj) 
1.自身和自身应该是equals的. X.equals(x) return ture
2.如果A等于B, 那么B也就等于A . X.equals(y) 那么 Y.equals(X)
3.传递性: X.equals(Y) Y.equals(Z) 那么 X.equals(Z).
4.永恒性. 始终是相等的. 今天是相等的那么明天也会是相等的.
5.对于任何的non-null数值和null值进行比较得到的结果永远是false. X.equals(null) 输出false.\


默认实现:当且仅当X.Y都指向同一个对象时.编译器才返回ture.
The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y,
this method returns true if and only if x and y refer to the same object (x == y has the value true).

从上文知: x = y; 和 x.equals(y);是一样的意思

equals的东西需要自己去改写. 通过复制粘贴改写equals.

instanceof:(运算符)二进制操作符 它的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据。

Cat C = (cat)obj; 将obj强制转换成cat类型.

J2SDK提供的一些类.如string.Date等重写了equals方法.String本身对equals进行了重写. 只要字符序列一样就会输出true.

class.equals