当param类型为List <BaseClass>时,如果要传递List <DerivedClass>,可以使用以下方法:
public void method(List<? extends BaseClass> list) {
// 处理逻辑
}
这样,在调用该方法时,可以传递List <DerivedClass>,因为DerivedClass是BaseClass的子类。
List<DerivedClass> derivedList = new ArrayList<DerivedClass>();
// 添加元素
List<BaseClass> baseList = (List<BaseClass>) (List<?>) derivedList;
method(baseList);
这样,将List <DerivedClass>向下转型为List <BaseClass>,然后传递给方法。
注意:在使用泛型时,尽量避免使用原始类型,而是使用具体的类型参数,例如List <BaseClass>而不是List<Object>。这样可以避免类型转换的问题,并提高代码的可读性和安全性。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云