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