我想在java中声明匿名arraylist,以便在构造函数列表的性质上可以使用任何类型的对象进行初始化。例如:
ArrayList<Anonymous> list;
public AdapterChatWindow(Activity act, ArrayList<CommentData> list, String extras) {
this.act = act;
this.list = list;
}
public AdapterChatWindow(Activity act, ArrayList<ChatHistory> list) {
this.act = act;
this.list = list;
}
这可能吗?任何替代方案?这是否可以使用列表类型数据结构?
答案 0 :(得分:2)
您可以使用通用类型:
public class AdapterChatWindow<T>
{
ArrayList<T> list;
public AdapterChatWindow(Activity act, ArrayList<T> list, String extras)
// ....
然后像这样使用它:
AdapterChatWindow<Foo> acw = new AdapterChatWindow<Foo>(...);
答案 1 :(得分:1)
你可以选择通用的例子..
{List<? extends "your super class"> list;}
现在您可以使用“您的超类”
的任何子类初始化您的列表答案 2 :(得分:0)
您可以使用ArrayList<Object> list
但是当您想对它们执行任何操作时,您必须小心地投射数组项。