【发布时间】:2015-10-30 13:48:51
【问题描述】:
我正在使用 Android Studio 开发一个应用程序。
我尝试将Object 放入ArrayMap 时出错。
private ArrayMap<String, ? extends Tracker> trackers;
public void addTracker(@NonNull Tracker tracker) {
trackers.put(tracker.getName(), tracker);
}
我希望我将继承自 Tracker 类的任何类型的对象添加到我的 ArrayMap
IDE 说它无法解析 put 方法的参数 (String, Tracker)
知道为什么吗?
【问题讨论】:
-
尝试私有 ArrayMap
跟踪器 -
这个声明允许做
trackers = new ArrayMap<String, Thing>();whereThing extends Tracker。既然这是授权的,那么trackers.add(tracker.getName(), tracker)是不允许的,因为trackers可能限制性更强。
标签: java android generics android-studio wildcard