У меня есть вопрос относительно дженериков:Detail о «супер» шаблона в Java дженериков
Map<? super String, ? super String> mappa1 = new HashMap<Object,Object>();
с супер, что можно создать экземпляр HashMap<Object,Object>
для <? super String>
. Однако тогда вы можете добавить только объекты, которые расширяют String (в этом случае только сама строка). Почему они не запрещают ошибку компиляции, а также с шаблоном extends
. Я имею в виду, если однажды созданный Map <Object, Object>
можно только добавить Strings .. почему бы не заставить создать Map<String, String>
в первую очередь? (например, с шаблоном extends
)
Снова я знаю разницу между super
и extends
относительно дженериков. Я хотел бы просто узнать подробности, о которых я упомянул.
Заранее спасибо.
Однако тогда вы можете добавить только те объекты, на которые распространяются строка (в данном случае только сам String) Вы можете добавить CharSequences и объект, а не OBJETS которые распространяются String. – Nimajen
@ Нимажен упоминается в вопросе. – Rollerball
извините, не тот ключ. Мой комментарий был неполным. – Nimajen