Вы можете добавить в список, в котором тип известен только как ограничение List<? extends Something>
. Представь, что ты мог бы:
List<Banana> bananas = new ArrayList<Banana>();
// This is fine, right?
List<? extends Fruit> fruit = bananas;
// We don't want to be able to add an apple to a list of bananas!
fruit.add(new Apple());
// ... as otherwise this is no longer safe
Banana bananas = bananas.get(0);
Это то же самое в вашем случае - представьте, что вы прошли в какой-то List<SomeVerySpecificKindOfNode>
; вы не сможете добавить к этому любой DefaultMutableTreeNode
.
Непонятно, каков ваш контекст, но достаточно просто изменить код для использования List<DefaultMutableTreeNode>
в обоих местах, чтобы исправить это. Это зависит от абонентов.