获取ArrayList

时间:2018-02-24 18:35:14

标签: java class reflection

因此,我试图将给定类的对象类型解析为ArrayList 例如:

public class Util{
    public static void makeArray(String tag, Class<?> forClass) {
        ArrayList<?> list = new ArrayList();
    }
}

如何将<?>替换为forClass对象类型? 所以当我调用

时,回到main方法中
Util.makeArray("names", String.class);

如果我说

,它会创建ArrayList<String>
Util.makeArray("ages", int.class);

它会将其解析为ArrayList<Integer>

如果它甚至没有这样做,请说明如何。

1 个答案:

答案 0 :(得分:3)

您将使用方法类型参数。

public static <T> void makeArray(String tag, Class<T> forClass) {
    ArrayList<T> list = new ArrayList<>();
}

可以使用Util.<String>makeArray("names", String.class)调用此方法,也可以通过省略T让编译器推断<String>