Найти класс по статическому значению в классе в Java / Kotlin - PullRequest
1 голос
/ 31 мая 2019

У меня есть сериализованный объект JSON, который выглядит следующим образом

{
  "someData" : ... // data, structure of which varies based on the type of the serialized object
  "typeID" : 42 // integer constant that uniquely identifies type of the serialized object
}

У меня также есть библиотека Java, которая выглядит следующим образом:

abstract class GeneralClass {
  public abstract int getTypeID();
}

class SomeDataClass1 extends GeneralClass {
  public SomeDataClass1(/*arguments depend on type*/) {/*init data fields with arguments*/}

  /*public data fields*/

  public static final int typeID = 42

  @Override
  public int getTypeID() {
    return typeID;
  }
}

Каждый typeID однозначно идентифицирует одиниз многих классов из библиотеки Java в порядке из примера.Чтобы использовать функции из библиотеки, мне нужно создать экземпляр класса из сериализованных данных;для этого я буду использовать gson.Чтобы gson мог десериализовать JSON в объект, мне нужно передать ему экземпляр объекта Class, который соответствует typeID.Как я могу получить объект Class, соответствующий классу, если у меня есть его typeID?

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