如果我有一个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[]
?