nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

CompareTo für Generics

Von: Alberto Luca (albertoluca66@gmx.de) [Profil]
Datum: 26.06.2008 19:16
Message-ID: <g40it8$t5o$1@aioe.org>
Newsgroup: de.comp.lang.java
Hallo NewsGroup,

ich versuche die CompareTo-Methode für eine Generics-Class zu erstellen.

Mein Coding:
// ------------------------------------------------------
// compareTo
// > 0:  Wenn dieses Objekt größer als der Parameter ist
//  0:   Wenn dieses Objekt und der Parameter gleich sind
// < 0:  Wenn dieses Objekt kleiner als der Parameter ist
// ------------------------------------------------------
public int compareTo(T obj){
// --- beide Werte müssen belegt sein
if (datenWert == null || obj == null )
throw new IllegalArgumentException("compareTo / cannot compare with null.
"
+ "datenWert: " + datenWert + ", obj: " + obj);

// --- beide Werte müssen vom gleichen Datentyp sein
if (! datenWert.getClass().isInstance(obj))
throw new IllegalArgumentException("compareTo / incompatible types. "
+ "datenWert: " + datenWert + ", obj: " + obj);

// === Vergleich
if(datenWert == obj)
return 0;

// --- Datentyp Integer
if (obj instanceof Integer) {
if ((Integer)datenWert > (Integer)obj)
return 1;
if ((Integer)datenWert < (Integer)obj)
return -1;
return 0;
} // Integer

// --- sonstiger Datentyp (wie String abhandeln)
return String.valueOf(datenWert).compareToIgnoreCase(String.valueOf(obj));
} // compareTo

An die Methode werden unterschiedliche Datentypen übergeben (int, String,
Double, etc.).
Was kann ich verbessern?

Besten Dank vorab!
Ciao, Alberto



[ Auf dieses Posting antworten ]

Antworten