base.Equivalence
配列だったり、文字列、あるいは、すでにあるクラスの比較部分だけをカスタマイズしたい時につかいます。
すると、ListやHashmapの操作をカスタマイズできます。
カスタムHashMapで使える by stackoverflow
リストから中身が同じの配列を削除するときとか使える by stackoverflow
abstractクラスなので実装するか、staticメソットで、既存のを取り出します。
staticメソッド
返り値 static Equivalence<Object>
- equals() - 比較に、
Object.equals(java.lang.Object)
ハッシュ値にObject.hashCode()
を使うEquivalenceを返す。
返り値 static Equivalence<Object>
- identity() - 比較に
==
・ハッシュ値にSystem.identityHashCode(Object)
を使うEquivalenceを返す。
メソッド
返り値 boolean
- equivalent(T a, T b) - 比較する。
返り値 int
- hash(T t) - ハッシュ値を返す。
返り値 Equivalence<F>
- onResultOf(Function
function) - ファンクションで変換した後の値で比較するEquivalenceを返す。
<S extends T>
返り値 Equivalence<Iterable<S>>
- pairwise() - イテラブルの中身を比較するのを返す。
<S extends T>
返り値 Equivalence.Wrapper<S>
- wrap(S reference) - Equivalence.Wrapperを返します。
内部クラス Equivalence.Wrapper
メソッド
返り値 boolean
- equals(Object obj) - 比較した結果を返す。
Wrapper同士で、同じequivalence(equals)な時、equivalence.equivalent(this.reference, that.reference)する。
Wrapperじゃないのを比較したり、違うequivalenceだと、false
になる。
返り値 T
- get() - 参照元を返す
返り値 int
- hashCode() - equivalenceのhashCode()を返す。
返り値 String
- toString() - wrapperである文字列が返す。