Я разрабатываю приложение с Android Studio.Ошибка с шаблоном в Generics
У меня есть ошибка, когда я пытаюсь поставить Object
в ArrayMap
.
private ArrayMap<String, ? extends Tracker> trackers;
public void addTracker(@NonNull Tracker tracker) {
trackers.put(tracker.getName(), tracker);
}
Я хочу, чтобы мой добавить к моему ArrayMap
любой вид объекта, который наследует от класса Tracker
В среде IDE говорит, что это не может решить метод put
для аргументов (String, Tracker)
Любая идея, почему?
попробовать частный ArrayMap трекеры –
KishuDroid
, что эта декларация позволяет это сделать 'трекеры = новый ArrayMap();' где 'Thing расширяет Tracker' , Поскольку это разрешено, тогда 'trackers.add (tracker.getName(), tracker)' не разрешено, потому что 'трекеры', возможно, более ограничительны. –
njzk2