generics richtig verstehen

Status
Nicht offen für weitere Antworten.

Krabat

Bekanntes Mitglied
Moin!

So richtig ahn ich das noch immer nicht:
Ich habe also eine Klasse, die die Schnittstelle Observer implementiert und die Methode update, die ich selbst implementieren muss. Nun übergebe ich als Objekt / Daten eine TreeMap, mit folgendem Aufbau "TreeMap<String, String>".

Code:
	public void update(Observable lister, Object tm) {
		model.add((TreeMap<String, String>)tm, null);
		System.out.println("updating...");
	}

Trotzdem kriege ich eine Warning:
Type safety: The cast from Object to TreeMap<String, String> is actually checking against the erased type TreeMap

Sollte ich die update Methode überschreiben mit ...
Code:
	public void update(Observable lister, TreeMap<String, String> tm) {...}
??
 
nein - da du somit die Signatur der update Methode ändern würdest und java diese nicht mehr als Teil des Observers sieht.

Ist leider so, da die Methode nunmal einen Typ Object erwartet und ein cast leider notwendig ist
 
da gibts ne Annotation dazu, leider funktioniert sie nicht richtig

@SuppressWarnings("unchecked") // Not supported in 1.5.0???
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben