Ich habe die folgenden Klassen:Warum ist es nicht möglich, eine generische Füllmethode in Java zu erstellen?
abstract class DTO{ }
class SubscriptionDTO extends DTO { }
und die folgende generische Methode:
protected void fillList(ResultSet rs, ArrayList<? extends DTO> l)
throws BusinessLayerException {
SubscriptionDTO bs;
try {
while (rs.next()){
//initialize bs object...
l.add(bs); //compiler error here
}
} catch (SQLException e) {
e.printStackTrace();
}
}
ich nicht zu verstehen scheinen kann, warum Sie nicht eine generische Methode zum Füllen von DTO-Subtypen schaffen. Mache ich etwas falsch oder ist das Absicht? Wenn ja, gibt es einen Workaround? Danke im Voraus.
zu beantworten, müsste ich, um zu sehen, wie Sie bs initialisieren, zumindest die Typdeklaration. – Yishai
Ich denke nicht, dass Sie die generische Methode wie geplant schreiben können, da Sie den genauen Typ des bs-Objekts kennen müssen, um es zu erstellen. Zum Beispiel neue SubscriptionDTO() oder neue DeliveryDTO(). – javashlook
@javashlook -Sie haben Recht. mmyers Erklärung ist gut genug für mich, das zu erkennen. Es scheint, dass ich eine rohe Lösung für diese Art von Problemen verwenden werde. –