【发布时间】:2011-10-22 16:24:48
【问题描述】:
我有一个列表列表。
我想知道如何限制每个内部列表的泛型类型,以便外部列表的每个元素都包含一个只能包含一种对象类型的内部列表。到目前为止,我已经尝试过:
List<ArrayList<?>> l = new ArrayList<ArrayList<?>>();
但是有一些方法可以将对象类型添加到不属于的内部列表中。有没有办法指定内部列表接受的类型?
例如,如果我有以下内部列表,
ArrayList<T1> innerList = new ArrayList<T1>();
ArrayList<T2> innerList2 = new ArrayList<T2>();
ArrayList<T3> innerList3 = new ArrayList<T3>();
如何创建一个外部列表,它可以包含所有内部列表,同时保留内部列表包含的特定类型。
我也不确定这是否可能,或者我所做的是否是糟糕的设计。如果它是糟糕的设计,我们将非常感谢您对更好的设计的洞察(也许有一个不同的系列做得更好)。
【问题讨论】:
-
“到目前为止我已经尝试过了”你不能将
ArrayList<ArrayList<?>>分配给List<List<?>>
标签: java list generics collections generic-collections