public static final class Equivalence.Wrapper<T> extends Object implements Serializable
Wraps an object so that equals(Object)
and hashCode()
delegate to an Equivalence
.
For example, given an Equivalence
for strings
named equiv
that tests equivalence using their lengths:
equiv.wrap("a").equals(equiv.wrap("b")) // true
equiv.wrap("a").equals(equiv.wrap("hello")) // false
Note in particular that an equivalence wrapper is never equal to the object it wraps.
equiv.wrap(obj).equals(obj) // always false
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Returns
true if Equivalence.equivalent(Object, Object) applied to the wrapped references is true and both wrappers use the same equivalence. |
T |
get()
Returns the (possibly null) reference wrapped by this instance.
|
int |
hashCode()
Returns the result of
Equivalence.hash(Object) applied to the wrapped reference. |
String |
toString()
Returns a string representation for this equivalence wrapper.
|
public boolean equals(@Nullable Object obj)
Returns true
if Equivalence.equivalent(Object, Object)
applied to the wrapped references is true
and both wrappers use the same
equivalence.
public int hashCode()
Returns the result of Equivalence.hash(Object)
applied to the wrapped reference.