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
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
- Jochen Theodorou (26.06.2008 20:03)
- Alberto Luca (26.06.2008 20:08)
- Jochen Theodorou (26.06.2008 21:01)
- Ingo R. Homann (27.06.2008 12:19)
- Ingo R. Homann (27.06.2008 12:58)
- Batman (28.06.2008 10:52)
