Objects汎用メソッド
1855 ワード
自分で書いたクラスは、一般的にどのような方法を実現しますか? equals,hashCode,toString,clone,finalize,その他Comparable.compareToメソッド equalsメソッドを実現する必要はありませんか?クラスの各インスタンスは、もともと唯一の である.クラスはlogical equalityのテスト を提供する必要はありません.スーパークラスはequals法をカバーしており、スーパークラスの挙動はこのクラス に適している.クラスはプライベートまたはパッケージプライベートであり、クラスのequalsメソッドがinvoked によって使用されないことを確認します.
equalsメソッドを上書きする5つのプロトコルはどれらですか?反身性;対称性伝達性一貫性;Non-nullity
インスタンス化可能なクラスをextendし、value componentを追加し、equalsプロトコルを保護する方法はありますか?仕方ない 前の問題に対して、角度を変えてこの問題を解決してもらえますか?は、 を継承することなく組み合わせを変更する.はクラス階層、すなわち抽象クラスのサブクラスにvalue componentを追加し、equalsプロトコル を保護することができる.
equalsメソッドを上書きするには、何かアドバイスがありますか? equalsメソッドを上書きする必要がある場合は、 を上書きします. equalsメソッドは、上記5つのプロトコル に従う.
なぜequalsメソッドを上書きする場合、hashCodeメソッドを上書きするのですか? hashCodeを上書きする汎用プロトコル: hashCodeを上書きする第2条共通プロトコルによれば、等値オブジェクトは等しいhash codesを有しなければならず、2つの等値オブジェクトがhash codesを上書きしなければ、そのhash codes値は等しくなく、このプロトコルに違反する.したがってequalsメソッドを上書きする場合はhashCodeメソッドを上書きする必要があります.
なぜtoStringメソッドを上書きするのか元のtoStringが返す文字列は、クラス名+@+16進数のhashCode値 です. toStringメソッドのプロトコル:簡潔で読みやすい文字列 を返す
cloneメソッドを上書きするには、どのようなアドバイスがありますか?できるだけCloneableインタフェースを実現しないで、cloneメソッド を提供しないでください.配列のcopyについてclone法 を推奨する immutable classesはcloneメソッド の提供を禁止すべきである. object copyの場合、copy constructorまたはcopy factory の使用を推奨します.
comparisonに依存するクラスはどれらがありますか? TreeSet,TreeMap,Collections,Arrays,検索およびソートアルゴリズムを含む クラスがcomparisonの機能を実現するには、どのような方法がありますか? Comparableインタフェースを実現し、comparareToメソッド を書き換える Comparator を使用 java 8のComparatorインタフェースのcompararingIntやcompararingなどの方法 compareToメソッドを実装する際、注意すべきことは何ですか?>および
equalsメソッドを上書きする5つのプロトコルはどれらですか?
インスタンス化可能なクラスをextendし、value componentを追加し、equalsプロトコルを保護する方法はありますか?
equalsメソッドを上書きするには、何かアドバイスがありますか?
なぜequalsメソッドを上書きする場合、hashCodeメソッドを上書きするのですか?
1. equals , , hashCode ,
2.equal objects must have equal hash codes
3. equal objects, hash codes
なぜtoStringメソッドを上書きするのか
cloneメソッドを上書きするには、どのようなアドバイスがありますか?
comparisonに依存するクラスはどれらがありますか?