从 class 对象获取数组的 class

Getting class of array from class object

我在输入时得到了一个 class 类型的对象。如何获取存储在 class 中的这种类型的数组?

private void myMethod  (Class pojo){
//come code
csvMapper.writerFor(pojoType[].class) //Somehow I need to get this pojoType[] from Class pojo, with respect for pojoType.class == polo
//

A simple method 已添加到 API,最迟 JDK 12:

Class<?> arrayType = pojo.arrayType();

在 JDK12 之前,您需要一个 work-around 赞

Class<?> arrayType = Array.newInstance(pojo, 0).getClass();

使用旧的 Array.newInstance(Class, int) 方法。这实际上创建了一个由 pojo 指定类型的零长度数组,然后获取它的 Class.