在Java中,当我们只知道组件类时如何构造数组

时间:2018-08-09 10:19:51

标签: java arrays

我只想创建一个对象数组:

Class<?> klass = ...;

Constructor< ? > constructor = klass.getConstructor();

Object inst = constructor.newInstance(); // create an object with default constructor

是否可以做这样的事情?

Object table = constructor.newInstanceTable(size) 

2 个答案:

答案 0 :(得分:1)

根据Creating New Arrays教程,使用java.lang.reflect.Array上的方法:

Class<?> c = Class.forName(cName);
Object o = Array.newInstance(c, n);
for (int i = 0; i < n; i++) {
    String v = cVals[i];
    Constructor ctor = c.getConstructor(String.class);
    Object val = ctor.newInstance(v);
    Array.set(o, i, val);
}

答案 1 :(得分:0)

使用java.lang.reflect.Array类:

Object array = Array.newInstance(klass, size);