java.util.List.<init>() 在 GenericType 球衣客户端

java.util.List.<init>() in GenericType jersey client

我正在使用球衣 restful 应用程序。

我在将对象列表从 JSON 转换为对象时出现以下错误。

球衣客户代码

def itemList= clientResponse.getEntity(new GenericType<List<Item>>(){});

堆栈跟踪

Error |
java.lang.NoSuchMethodException: java.util.List.<init>()
Error |
    at java.lang.Class.getConstructor0(Class.java:3074)
Error |
    at java.lang.Class.getDeclaredConstructor(Class.java:2170)
Error |
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassGetDeclaredConstructor(ReflectiveInterceptor.java:456)
Error |
    at org.springsource.loaded.ri.ReflectiveInterceptor.jlClassNewInstance(ReflectiveInterceptor.java:983)
Error |
    at com.sun.jersey.core.provider.jaxb.AbstractListElementProvider.readFrom(AbstractListElementProvider.java:306)
Error |
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:634)
Error |
    at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:604)
Error |
    at com.sun.jersey.api.client.ClientResponse$getEntity.call(Unknown Source)

尽管我在 itemList 中得到了正确的值。

谁能告诉我它为什么会出现以及避免它的解决方案是什么?

看起来 Jersey 正试图通过反射实例化一个接口 (List),但失败了,因为它找不到构造函数。

泽西岛代码应该是

new GenericType<ArrayList<Item>>()