Обрабатывать полное имя типа для вложенных классов - PullRequest
0 голосов
/ 12 февраля 2020

Я использую некоторые вложенные классы, такие как List, MyObject ...

Затем я могу найти их тип с помощью:

Type type = new com.google.gson.reflect.TypeToken<List<String>>() {}.getType();

Но когда я пытаюсь обработать его с помощью generi c типа, как:

public static <T> T findClass(Class<T> resultClass)
    {
        //E.g. resultClass = String.class; Expect: List<String>
        Type type = new com.google.gson.reflect.TypeToken<List<T>>() {}.getType();
    }

Это не работает для меня.

Здесь, мне интересно две вещи.

  1. Можно ли исправить эту проблему?
  2. Можно ли описать путь, например Class<List<String>> в java?

1 Ответ

0 голосов
/ 13 февраля 2020

Согласно комментарию @ Хольгера , я только что решил это, как показано ниже:

public static <T> Set<T> fromJsonToSet(Class<T> resultClass)
{
    Type type = TypeToken.getParameterized(Set.class, resultClass).getType();
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...