有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

列出如何在java中声明匿名arraylist?

我想用java声明匿名arraylist,这样就可以根据构造函数的性质使用任何类型的对象初始化list。例如:

    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) 个答案

  1. # 1 楼答案

    例如,你可以选择泛型

    {List<? extends "your super class"> list;}
    

    现在,您可以使用“您的超类”的任何子类初始化列表

  2. # 2 楼答案

    您可以只使用ArrayList<Object> list,但是当您想对数组项执行任何操作时,必须小心地强制转换它们

  3. # 3 楼答案

    您可以使用泛型类型:

    public class AdapterChatWindow<T>
    {
        ArrayList<T> list;
    
        public AdapterChatWindow(Activity act, ArrayList<T> list, String extras)
    // ....
    

    然后像这样使用它:

    AdapterChatWindow<Foo> acw = new AdapterChatWindow<Foo>(...);