ich die folgende Klassenhierarchie:Scala - ein Tupel von verwandten Arten Mustervergleich
class A
class B extends A
class C extends A
dann, eine andere Klasse ist die Instanzen dieser Klassen nimmt und gibt es ein Verfahren, bei dem zwei Fälle von pattern-Matching möglich ist wie folgt aus:
class D (one: A, two: A) {
def work {
(one, two) match {
case (o, t): (B, B) => ... blablabla
case (o, t): (B, C) => ... blablabla
case _ =>
}
}
}
wenn es jedoch sollte die Anpassung für den zweiten Fall (B, C)
lösen, versucht er es als (B, B)
Lösung und kommt, dass C cannot be cast to B
mit der Klasse Guss Ausnahme auf. Warum? Was ist zu tun? Wie kann ich das umgehen?
Ich habe so lange gekämpft, um die richtige Syntax herauszufinden ... Danke! – Benoit