Ich habe eine Class
namens Mineral
und andere Klassen, die diese erweitern, wie Gold
, Iron
und Coal
.Schalten Sie eine SuperClass
Ich versuche zu Schalter eine Mineral
Klasse, um herauszufinden, welche Mineral durch die folgende addMineral
Methode übergeben wurde:
public List<Mineral> addMineral(Mineral mineral, int amount){
switch (mineral){
case Gold:
break;
}
}
Aber ich weiß nicht, wie die Klassen einfügen, die Mineral als Fälle erweitern. In der Tat funktioniert das obige Beispiel nicht.
Ist das möglich? Ist das der richtige Weg oder gibt es eine bessere Lösung?
Sie können nicht Schalter mit Objekten verwenden, außer String. Dieser Zusatz kommt in Zukunft mit Pattern Matching zu Java. Siehe hier: (https://youtu.be/e9eSPtpiGkA) – Logan
'if (Mineral instanceof Gold) {...} sonst wenn (Mineral instanceof ...' – EpicPandaForce
Sie es mit einem 'if' zum Beispiel überprüfen müssen : 'if (mineral instanceof Gold) {...}' –