【发布时间】:2017-12-05 06:26:48
【问题描述】:
我应该编写一个名为 getLowCost 的通用方法,它接受两个参数:一个数组列表 arLst1,它可以是 Battery、Single Use 或 Rechargeable 类型,并且是双倍成本。我应该返回 arLst1 中成本小于或等于所提供成本的所有电池的数组列表。
我以为我会这样开始,
public ArrayList<? extends Battery> getLowCost(ArrayList<? extends Battery> list, double val) {
ArrayList<? extends Battery> list2 = new ArrayList<>();
for (Battery obj: list) {
if (obj.getLifeTimeCost() < val) {
list2.add(obj);
}
}
}
很遗憾,我无法将该对象添加到我的列表 2。如何保证返回类型与第一个参数的类型相同?
【问题讨论】:
-
提示:你学会如何使用generic methods了吗?