ich Generika in Java, aber es ist nicht so gut, wie ich dachteSammlung sicherer als Standardliste mit generischem Typ?
public static void add(List l, Object o) {
l.add(o);
}
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<Integer>();
add(list, "1.23");
add(list, 1.23);
System.out.println(list);
}
diese kompiliert alle und arbeitet. Wenn ich einen Wert von list
bekomme, wird eine Ausnahme ausgelöst.
Kann es in Java 6 sicherer sein?
Warum gehst du nicht Verwenden Sie die 'list.add()' Methode? Deklarieren Sie Ihre 'add()' Methode mit dem generischen 'List' Parameter. –
NINCOMPOOP
Ich verstehe, aber ich Gesicht Typ löschen (alter Code) –
@KalamarObliwy: Aber es wird Sie von Kompilierzeit Fehler speichern und wird daher von 'ClassCastExceptions' zur Laufzeit speichern. – NINCOMPOOP