今天是个好日子!使用反射时遇到了这样一个有趣的问题。有没有办法在Java中实现这个方法:
private <T extends OdooModel> T[] parseRequest(Class<T> clazz) {
...
return new Gson().fromJson(model, clazz);//здесь неправильный аргумент clazz
}
问题是在调用方法的时候,我需要传递Model.class,而不是Model[].class,反过来,对于解析器,我需要传递Model[].class。那些。事实上,我们有一个 Class clazz = Model.class 变量,我们想从中获取 Сlass clazz = Model[].class 变量。
谢谢
从@Christian Strempfer的英语堆栈溢出答案中复制两种方法(如何在 Java 中获取给定类的数组类?:
通过创建一个数组
Array.newInstance并获取其类:生成数组类的名称并通过名称获取它
Class.forName:您可以在 jenkov.com 上的Java 反射 - 数组中阅读更多内容。