Джерси Ява Отражение - PullRequest
       4

Джерси Ява Отражение

0 голосов
/ 10 октября 2018

Я новичок в библиотеке Джерси .. Я застрял на следующем утверждении:

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?

Также Reflection также используется в:

resp.getEntity(String.class); // Why are we passing class<String> to getEntity()?

Я хочу знать, почемумы передаем эти параметры вышеуказанным методам?

1 Ответ

0 голосов
/ 10 октября 2018

То, что вы видите, - это метод обеспечения безопасности типов с универсальными типами.Я подозреваю, что в фоновом режиме все еще происходит отражение (для создания экземпляра объекта), но это не то, что вы делаете сами.

Рассмотрим следующий метод:

public <T> T get(Class<T> type) { \* content *\}

Вышекак будет выглядеть декларация.Помимо отражения на заднем плане (скорее всего, это необходимо для построения экземпляра объекта), это позволяет вам получить «правильный» тип без приведения.В противном случае вам нужно будет сделать что-то вроде:

MyType object = (MyType) resp.getEntity();

Я не уверен, что это отвечает на вопрос?(В противном случае сообщите нам)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...