因此,我试图将给定类的对象类型解析为ArrayList 例如:
public class Util{
public static void makeArray(String tag, Class<?> forClass) {
ArrayList<?> list = new ArrayList();
}
}
如何将<?>
替换为forClass
对象类型?
所以当我调用
Util.makeArray("names", String.class);
如果我说
,它会创建ArrayList<String>
Util.makeArray("ages", int.class);
它会将其解析为ArrayList<Integer>
如果它甚至没有这样做,请说明如何。
答案 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>
。