d-man:
L'utilisation des médicaments génériques que je veux faire ma méthode Paramétrez pour accepter la carte de clé (A ou B) et de la valeur que le modèle qui plus tard, il se transforme en carte de Map<UUID, Model>
Le problème est que je reçois une erreur sur entry.getKey().getId()
b / c. Je n'ai pas défini ce qui est? une clé. Quelqu'un peut -il aider?
public void method(Map<?, Model> map) {
Map<UUID, Model> transformation =
map.entrySet().stream()
.collect(
Collectors.toMap(entry -> entry.getKey().getId(), entry -> entry.getValue()));
}
class S {
protected UUID getId() {
// return UUID
}
}
class A extends S {}
class B extends S {}
class Model {
// bla bla
}
Andy Turner:
Si A
et B
mettre en œuvre une interface commune offrant la getId()
méthode, le caractère générique lié à cela:
public void method(Map<? extends S, Model> map) {