如何在java中声明匿名arraylist?

时间:2015-03-12 10:37:10

标签: java list arraylist

我想在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;
    }

这可能吗?任何替代方案?这是否可以使用列表类型数据结构?

3 个答案:

答案 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但是当您想对它们执行任何操作时,您必须小心地投射数组项。