【发布时间】:2020-05-01 03:52:21
【问题描述】:
我有两个包,两个包都有 Excel 类以及 Invoices 和 Packing 类,我想创建一个 Excel,我可以从中扩展,每个 excel 都需要了解 Invoice 和 Packing Lists
public class Excel {
protected final List<? extends T> invoices;
protected final List<? extends T> packing;
public Excel(List<? extends T> invoices, List<? extends T> packing) {
this.invoices = invoices;
this.packing = packing;
}
}
我在另一个 Excel 类中扩展了该 Excel,在构造函数 super(invoices,packing) 中它说需要类型 List ? extends T 提供 List Invoices List Packing
public Excel(List<Invoice> invoices, List<PackingList> packingLists) {
super(invoices,packingLists);
【问题讨论】:
-
T是泛型类型参数吗?如果是,在哪里声明? -
@Eran 我创建了字段,认为 List 可以接受他喜欢的任何东西,然后在扩展该类时只需传递特定类的列表
-
什么是
T?如果它是泛型类型参数,则应在类级别或任何相关方法中声明。如果不是,这意味着您必须有一些名为T的类或接口。 -
这能回答你的问题吗? Instantiating a generic class in Java