|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectts.util.GeneralComparator
public class GeneralComparator
一般的なオブジェクト比較クラス。
Collections#sort(List)
メソッドを利用する際、引数のリストの要素がComparable
を継承していないといけない(そうでない場合はメソッド内で
ClassCastException
がスローされる。
JDK 1.5以降では、リストの要素型に Comparable
を継承したクラスを指定しないと、コンパイル・エラーになる)。
これに対して、
Collections#sort(List,Comparator)
メソッドは、引数の
Comparator
オブジェクトが判定可能であれば、
リストの要素がComparable
を継承していなくても
問題なく処理される。
このクラスは、
Comparable
を継承していない要素を含むリスト
でもソートに使えるような一般的な Comparator
クラスである。
リストの要素がComparable
を継承している場合は
Comparable#compareTo
メソッドを使って比較し、
Comparable
を継承していない場合や
Comparable#compareTo
メソッドで例外(ClassCastException
等))
がスローされた場合は、toString()
メソッド
を使って両オブジェクトを文字列化した値を比較する。
両オブジェクトを文字列化した値を比較して同じと判定された場合は、さらに
両オブジェクトのクラス名を比較する。
コンストラクタの概要 | |
---|---|
GeneralComparator()
デフォルト・コンストラクタ。 |
メソッドの概要 | |
---|---|
int |
compare(java.lang.Object o1,
java.lang.Object o2)
指定された2つのオブジェクトの大小関係を比較する。 |
boolean |
equals(java.lang.Object obj)
引数のオブジェクトがこのオブジェクトに等しいかどうかを判定する。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public GeneralComparator()
メソッドの詳細 |
---|
public int compare(java.lang.Object o1, java.lang.Object o2)
Comparable
を継承している
場合は、そのComparable#compareTo
メソッドを使って比較する。
Comparable
を継承していない場合や、
Comparable#compareTo
メソッドで例外(ClassCastException
等))がスローされた場合は、両方のオブジェクトを
toString()
メソッドで文字列化して比較
する。
両オブジェクトを文字列化した値を比較して同じと判定された場合は、さらに
両オブジェクトのクラス名を比較する。
java.util.Comparator<java.lang.Object>
内の compare
o1
- 比較対象のオブジェクト1。o2
- 比較対象のオブジェクト2。
public boolean equals(java.lang.Object obj)
java.util.Comparator<java.lang.Object>
内の equals
java.lang.Object
内の equals
obj
- 比較対象のオブジェクト。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |