标签:
equals public boolean equals(Object obj) Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation on non-null object references: It is reflexive: for any non-null reference value x, x.equals(x) should return true. It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true,
then x.equals(z) should return true. It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently
return true or consistently return false, provided no information used in equals comparisons on the objects is modified. For any non-null reference value x, x.equals(null) should return false. 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). Note that it is generally necessary to override the hashCode method whenever this method is overridden,
so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes. Parameters: obj - the reference object with which to compare. Returns: true if this object is the same as the obj argument; false otherwise. See Also: hashCode(), HashMap
equals() 与 == 的区别
== 两端的操作数必须为同一类型才能编译通过。
当它们用 == 进行比较时,比较的是它们在内存中存放的地址,所以,除非是同一个new出来的对象,它们比较后的结果为true,否则为false。
java中所有的类都是继承于Object这个基类的,在Object中定义了一个equals()方法,这个方法的初始行为是比较对象的内存地址,也是用( == )进行比较的。
但在一些类库中这个方法被覆盖掉了,如String,Integer,Date。只有String的equals()方法才比较值。
equals public boolean equals(Object anObject) Compares this string to the specified object.
The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object. Overrides: equals in class Object Parameters: anObject - The object to compare this String against Returns: true if the given object represents a String equivalent to this string, false otherwise See Also: compareTo(String), equalsIgnoreCase(String)
标签:
原文地址:http://www.cnblogs.com/roger-h/p/4442919.html