首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jersey Java反射

Jersey Java反射
EN

Stack Overflow用户
提问于 2018-10-11 02:54:42
回答 1查看 111关注 0票数 0

我是新泽西图书馆的初学者..我坚持以下几点:

代码语言:javascript
复制
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?

此外,反射还用于:

代码语言:javascript
复制
resp.getEntity(String.class); // Why are we passing class<String> to getEntity()?

我想知道为什么我们要将这些参数传递给上面的方法?

EN

回答 1

Stack Overflow用户

发布于 2018-10-11 03:22:14

您看到的是为泛型类型提供类型安全性的方法。我怀疑在后台仍然有反射(对象实例构造),但这不是你自己正在做的。

考虑以下方法:

代码语言:javascript
复制
public <T> T get(Class<T> type) { \* content *\}

上面是声明的样子。除了在背景中的反射(很可能是对象实例构造所需要的),这允许您在不进行强制转换的情况下获得“正确”的类型。否则,您将需要执行以下操作:

代码语言:javascript
复制
MyType object = (MyType) resp.getEntity();

我不确定这是否解决了这个问题?(否则请让我们知道)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52747001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档