我是新泽西图书馆的初学者..我坚持以下几点:
Client c = Client.create();
WebResource web = c.resource(url);
ClientResponse resp = web.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class) // Why are we using reflection here?此外,反射还用于:
resp.getEntity(String.class); // Why are we passing class<String> to getEntity()?我想知道为什么我们要将这些参数传递给上面的方法?
发布于 2018-10-11 03:22:14
您看到的是为泛型类型提供类型安全性的方法。我怀疑在后台仍然有反射(对象实例构造),但这不是你自己正在做的。
考虑以下方法:
public <T> T get(Class<T> type) { \* content *\}上面是声明的样子。除了在背景中的反射(很可能是对象实例构造所需要的),这允许您在不进行强制转换的情况下获得“正确”的类型。否则,您将需要执行以下操作:
MyType object = (MyType) resp.getEntity();我不确定这是否解决了这个问题?(否则请让我们知道)
https://stackoverflow.com/questions/52747001
复制相似问题