| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Generic в суперклассе и интерфейсе |
| Автор: lazycat 12.6.2015, 14:10 | ||||||
| Доброго времени суток всем! Есть у меня код (даю в предельно упрощенном виде)
Как видите, в суперклассе HashMap и в интерфейсе есть мтод put c разными generic типами. Так вот в этой точке компилятор ругается: Name clash: The method put(K, V) of type MyMapImpl<K,V> has the same erasure as put(K, V) of type HashMap<K,V> but does not override it Сталкивался ли кто-нибудь с чем-нибудь подобным? Заранее благодарен за любые отклики. замечание: разные generic типы в суперклассе и интерфейсе - это принципиальный момент, изменить невозможно! |
| Автор: CPlusPlusFAN 14.6.2015, 21:26 |
| Да, сталкивался. А что нужно? |
| Автор: LSD 15.6.2015, 11:42 |
| В рантайме от <K, V> ничего не остается только Object соответвенно оба метода будут заменены на Object put(Object, Object) и будут иметь одинаковую сигнатуру. О чем и говорит компилятор. |