2014-02-17 10 views
3

Я пытаюсь использовать конструктор библиотеки, которую я использую. Но мне нужно, чтобы передать ему этот объект:Как использовать Список <? extends Map <String, ?>>

List<? extends Map<String, ?>> 

Но у меня есть только объект:

data = ArrayList<MyOwnObject>. 

Я не понимаю, как я адаптировать свои данные, чтобы поместиться в List<? extends Map<String, ?>>.

Спасибо.

+3

'MyOwnObject' должен расширять' Map ' – m0skit0

+1

MyOwnObject должен продлить карту . – Alexiy

ответ

4

Хорошо. То, что <? extends Whatever> называется ограниченным шаблоном. Он будет соответствовать только вашему ArrayList<YourObject>, если YourObject принадлежит к классу, реализует Map<String, Something>, где Something может быть любым классом (тот будет соответствовать неограниченному шаблону?) .

Ваш ArrayList полностью прекрасен, так как это реализует интерфейс List. Это ваш обычай MyOwnObject, который должен удовлетворять вышеуказанным ограничениям.

Подробнее о подстановочных знаках here.

+0

Хорошо, MyOwnObject уже расширяет другой класс, но я могу его изменить. Теперь работает. Это просто странно, потому что мой объект расширяет карту <>, но я не использую никаких функций карты <>. – user2250466

+0

Если вы используете новую java (не в eclipse), вы получаете ошибку: несовместимые типы: Список не может быть преобразован в список > «Я еще не нашел обходного пути для этого. – JosephK

Смежные вопросы