获取泛型的数组类类型的简单方法?

时间:2020-09-16 10:10:31

标签: 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);
  }

没有更简单的方法吗?我真正想做的就是,如何从TT[],再到T[].class

0 个答案:

没有答案
相关问题