如果我有一个Collection定义为Collection collection = new ArrayList()包含String实例,我怎样才能将它转换为一个String[]?collection.toArray()返回一个Object[]. 或者,如何实例化ArrayList<String>使用反射?
请注意,我不能硬编码String,这样做的方法只知道Class它可以使用的方法。
例子:
Object test(Class classToCastTo, Object[] values) {
Collection collection = new ArrayList();
for (Object value : values) {
collection.add(classToCastTo.cast(value));
}
return collection.toArray();
}
如果我用 调用它test(String.class, ...),那么它将返回一个Object[]. 我怎样才能让它返回一个String[]?