Betrachten Sie die folgende Situation speichert:Hash-Set, das Subklassen von bestimmten Klasse JAVA
public abstract class Vegetable {};
public class Tomato extends Vegetable {};
public class Cucumber extends Vegetable {};
public class Orange {};
Der Punkt ist - ich möchte, dass meine HashSet
nur zu speichern, etwas erstreckt Vegetable
, wie kann ich das tun? Dies sollte einfach sein ..
..aber Set <? extends Vegetable>() hs = new HashSet <? extends Vegetable>();
ist keine Arbeits Bau natürlich Java will, dass ich angeben, welche Art von Set
ich will - Tomato
oder Cucumber
, was passiert, wenn ich etwas Gemüse nur wollen?
Ich würde lieber keine Abgüsse verwenden, um ...
Verwenden Sie einfach 'Set set = neue HashSet ()' –
toniedzwiedz
@tania warum versuchst du nicht einfach 'Set' '? –
MarioDS
Ich weiß, dass Sie Casting vermeiden möchten, aber Toms Code und Casting für Gurke und Tomate ist wahrscheinlich der beste Weg dazu. – Russell