创建通用列表

时间:2013-03-20 07:50:14

标签: java generics type-erasure

如何在Java中创建通用List?我也可以将Class<T>实例传递给方法。

像这样:

public static <T> List<T> createList(Class<T> clazz) {
    List<T> list = new ArrayList<T>();

    list.add(clazz.newInstance());

    return list;
}

2 个答案:

答案 0 :(得分:5)

我不明白为什么你想要一个方法。您可以new ArrayList<String>()new ArrayList<Integer>()

如果您想将其作为方法编写,请执行

 public static <T> List<T> createList() {
    return new ArrayList<T>();
 }

返回类型List<T>由编译器推断。

答案 1 :(得分:0)

如果你想将实例传递给列表意味着你可以试试这个

public class info  {

    private int Id;

    public void setId(int i_Id) {
    this.Id = i_Id;
    }

    public int getId() {
    return this.Id;
    }

}

class two{
    private List<info> userinfolist;

    userinfolist= new ArrayList<info>();

    //now you can add a data by creating object to that class

     info objinfo= new info();
     objinfo.setId(10);
     userinfolist.add(objinfo); .//add that object to your list
     }