私は比較する任意のタイプの要素を取ることができるコンパレータを作ろうとしています。私はどのようにクラスを作成するかについては不明です。私はちょうど同じタイプの2つの要素を比較したい(しかし、クライアントがそれを与えるどのタイプでも、例:Integer、String、Doubleなど...)。一般的なコンパレータクラスを作成する
public class InsertionComparator implements Comparator<T>
{
/**
* Compares two elements.
*
* @param f1 The first element you want to compare.
* @param f2 The second element you want to compare.
* @return -1,0,1 Whether or not one is greater than, less than,
* or equal to one another.
*/
public int compare(<T> element1,<T> element2)
{
if(element1 < element2)
{
return -1;
}
else
{
if(element1 > element2)
{
return 1;
}
else
{
return 0;
}
}
}
}
ご協力ありがとうございました!唯一Comparable
オブジェクトは、「自然の秩序」を持っている:
class NaturalComparator<T extends Comparable<T>> implements Comparator<T> {
public int compare(T a, T b) {
return a.compareTo(b);
}
}
本当にあなたがすることができる最も近いです:あなたがこれまで行うことができます
まず、いくつかの構文エラーがあります。 [Generics in Javaの記事](http://www.oracle.com/technetwork/java/javase/generics-tutorial-159168.pdf)をお読みください。ジェネリックスとその使い方を説明しているので、あなた自身でこれと次の問題を解決することができます。 –
これは正確に何が必要ですか?私はこれがあなたの本当の問題ではないと感じます。 –
数字、日付、文字のように、ユーザーが入力したデータのためのものですか?コンパイラーは、あるウィンドウを別のウィンドウと比較するようなJavaクラスで使用することができますので、今のところ質問が幅広く見えるので、指定してください。 – Geronimo