Ich habe eine grundlegende Frage zu Java Generics. Ich habe eine Methode, die dies als Argument:Java generische Klasse als Parameter
public id findKey(List<String> ids, CustomClass clazz) {
repos.findID(ids, clazz);
}
Ich mag dann für eine andere Methode eine Java generische Klasse als Argument verwenden:
repos.findID(ids, clazz);
aber meine findID Methode eine Java generische Klasse braucht anstelle von clazz. Wie bekomme ich mein Clazz-Argument vom findkey-Parameter und verwandle es in eine generische Klasse? Wenn ich dies tun:
public id findKey(List<String> ids, Class<T> clazz) {
repos.findID(ids, clazz);
}
bekomme ich einen Fehler, weil es nicht meinen T. erkennt
ich bin ratlos, wie dieses Zeug funktioniert und jede mögliche Hilfe schätzen würde.
Bearbeiten: Gelöst es. Ich kann nutzen ? oder geben Sie explizit eine Klassenart an, die ich wollte und akzeptierte sie.
Sofern Sie nicht 'T' an anderer Stelle in Ihrer Methode benötigen, ist' Class > 'ausreichend. Ansonsten definiere einfach eine Typvariable: 'public id findKey (...'. –
Danke, ich habe es 10 Sekunden nach dem Posten gelöst. –
dann bitte antworte selbst - vielleicht hilft es jemand anderem –