Можно ли получить .class из общего класса? - PullRequest
0 голосов
/ 02 октября 2011

Как можно сделать что-то вроде:

Schema<ArrayList<UnitInstanceData>> scheme = 
        RuntimeSchema.getSchema(ArrayList<UnitInstanceData>.class));

1 Ответ

3 голосов
/ 02 октября 2011

.class - это время выполнения доступ к объекту класса. Во время выполнения дженерики исчезли, будучи устранены «стиранием типа». В вашем примере все, что вы можете получить, это ArrayList.class. Если вам нужно знать тип универсального класса во время выполнения, вы должны передать второй параметр, как в

RuntimeSchema.getSchema(ArrayList.class, UnitInstanceData.class));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...