有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案