Используя дженерики, я хочу, чтобы мой метод параметризовался так, чтобы он принимал карту ключа (A или B) и значение в качестве модели, которое впоследствии преобразуется в карту Map<UUID, Model>
Проблема в том, что я получаю сообщение об ошибке entry.getKey().getId()
b / c. Я не определил, что это? ключ. Может кто-нибудь помочь?
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
}