ts.util
クラス GeneralComparator

java.lang.Object
  上位を拡張 ts.util.GeneralComparator
すべての実装されたインタフェース:
java.util.Comparator<java.lang.Object>

public class GeneralComparator
extends java.lang.Object
implements java.util.Comparator<java.lang.Object>

一般的なオブジェクト比較クラス。
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()メソッド を使って両オブジェクトを文字列化した値を比較する。 両オブジェクトを文字列化した値を比較して同じと判定された場合は、さらに 両オブジェクトのクラス名を比較する。

バージョン:
$Revision: 1.1.1.1 $, $Date: 2010-10-16 00:03:44 $
作成者:
佐藤隆之.

コンストラクタの概要
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
 

コンストラクタの詳細

GeneralComparator

public GeneralComparator()
デフォルト・コンストラクタ。

メソッドの詳細

compare

public int compare(java.lang.Object o1,
                   java.lang.Object o2)
指定された2つのオブジェクトの大小関係を比較する。
一方のオブジェクトがヌルの場合は、もう一方がヌルでないならばヌルの方が 大きい(昇順でソートしたとき後ろに来る)ものとして判定する。
一方のオブジェクトがComparableを継承している 場合は、そのComparable#compareToメソッドを使って比較する。
どちらもComparableを継承していない場合や、 Comparable#compareToメソッドで例外(ClassCastException等))がスローされた場合は、両方のオブジェクトを toString()メソッドで文字列化して比較 する。 両オブジェクトを文字列化した値を比較して同じと判定された場合は、さらに 両オブジェクトのクラス名を比較する。

定義:
インタフェース java.util.Comparator<java.lang.Object> 内の compare
パラメータ:
o1 - 比較対象のオブジェクト1。
o2 - 比較対象のオブジェクト2。
戻り値:
o1がo2より小さい場合は正の値を、o1がo2より大きい場合は負の値を、 o1とo2が等しい場合はゼロを返す。

equals

public boolean equals(java.lang.Object obj)
引数のオブジェクトがこのオブジェクトに等しいかどうかを判定する。

定義:
インタフェース java.util.Comparator<java.lang.Object> 内の equals
オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
obj - 比較対象のオブジェクト。
戻り値:
等しい場合はtrueを、そうでない場合はfalseを返す。


Copyright (C) SATOH Takayuki All Rights Reserved.