Rozważmy następującą sytuację:Hash zestaw, który przechowuje podklasy danej klasy JAVA
public abstract class Vegetable {};
public class Tomato extends Vegetable {};
public class Cucumber extends Vegetable {};
public class Orange {};
Chodzi o to - Chcę moje HashSet
przechowywać tylko coś rozciągający Vegetable
, jak mam to zrobić? To powinno być proste ..
..ale Set <? extends Vegetable>() hs = new HashSet <? extends Vegetable>();
nie jest konstrukcja działa oczywiście Java chce mi określić, jaki rodzaj Set
chcę - Tomato
lub Cucumber
, co będzie, jeśli po prostu chcesz coś warzywo?
Wolałbym nie używać żadnych odlewane ...
Po prostu użyj 'Set set = new HashSet ()' –
toniedzwiedz
@ tania dlaczego nie spróbujesz 'Set'? –
MarioDS
Wiem, że chcesz uniknąć castingu, ale używanie kodu Toma i casting na Cucumber and Tomato jest prawdopodobnie najlepszą drogą do tego. – Russell