używam rodzajowych w Javie, ale nie jest tak dobry jak myślałemKolekcja bezpieczniejsza od standardowej listy o typie ogólnym?
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);
}
Wszystko to kompiluje i działa. Kiedy otrzymam wartość z list
, zostanie zgłoszony wyjątek.
Czy to może być bezpieczniejsze w Javie 6?
Dlaczego nie użyć metody 'list.add()'? Deklaracja metody 'add()' z ogólnym parametrem 'List'. –
NINCOMPOOP
Rozumiem, ale mam do czynienia z typem wymazania (stary kod) –
@ KalamarObliwy: Ale to pozwoli ci zaoszczędzić na błędach podczas kompilacji, a tym samym zaoszczędzi z 'ClassCastExceptions' w czasie wykonywania. – NINCOMPOOP