概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## 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)` 指定された２つのオブジェクトの大小関係を比較する。
`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)

  指定された２つのオブジェクトの大小関係を比較する。
  一方のオブジェクトがヌルの場合は、もう一方がヌルでないならばヌルの方が 大きい（昇順でソートしたとき後ろに来る）ものとして判定する。
  一方のオブジェクトが`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`を返す。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) SATOH Takayuki All Rights Reserved.