java获取泛型数组类类型的简单方法?
我有一个小代码片段,可以简化JSON数组的解析。我最初的想法如下(伪Java):
public <T> T[] parseAsArray(String content, Class<T> valueType) {
return objectMapper.readValue(content, T[].class); // doesn't work as you can't just go T[].class
}
于是我就摆弄着代码。还有一些。还有一些
最终,我遇到了下面的混乱,这确实有效,但需要我创建一个新的数组实例,这样我就可以获取它的数组类类型,更不用说所有的转换了
public <T> T[] parseAsArray(String content, Class<T> valueType) {
Class<T[]> tArrClass = (Class<T[]>) Array.newInstance(valueType, 0).getClass();
return (T[]) objectMapper.readValue(content, tArrClass);
}
难道没有更简单的方法吗?我真正想做的是,我怎样才能从T
到T[]
再到T[].class
共 (0) 个答案