Ich habe eine Schnittstelle VersionInterface
die von meinem Objekt implementiert wird ObjectDefinition
Wie rufe ich eine Methode mit Schnittstellenparametern auf?
Ich habe auch eine Methode, die zwei List<VersionInterface>
als Argument akzeptiert.
Da ObjectDefinition
implementiert VersionInterface
, warum kann ich nicht meine zwei List<VersionInterface>
als Argumente zu meiner Methode übergeben?
Methode Definition:
public List<VersionInterface> updateArtifact(List<VersionInterface> currentCopy, List<VersionInterface> updatedCopy)
ObjectDefinition
Definition:
public class ObjectDefinition implements VersionInterface {
Wie ich rufe updateArtifact
:
service.updateArtifact(currentCopy, updatedCopy);
currentCopy
und updatedCopy
sind beide ArrayList<ObjectDefinition>
ich:
The method updateArtifact(List<VersionInterface>, List<VersionInterface>) in the type ORService is not applicable for the arguments (List<ObjectDefinition>, List<ObjectDefinition>)
Edit: Mein Problem hat mit Schnittstellen und nicht die Unterklassen zu tun
Ich glaube [this] (https://stackoverflow.com/questions/10643443/passing-arraylistsubclass-to-method-declared-with-listsuperclass) bestehenden Beitrag beantwortet die Frage. –
mein Beispiel verwendet Schnittstellen und befasst sich nicht mit erweitern –