Есть ли способ избежать стирания типа и получить доступ к параметру типа?
public class Foo<T extends Enum<?> & Bar> {
public Foo() {
// access the template class here?
// i.e. :
baz(T.class); // obviously doesn't work
}
private void baz(Class<T> qux) {
// do stuff like
T[] constants = qux.getEnumConstants();
...
}
}
Мне нужно знать о T
и что-то с этим делать. Возможно ли это, и если да, то как это можно сделать без передачи класса в конструкторе или где-либо еще, кроме параметра?
РЕДАКТИРОВАТЬ: Основная цель этого вопроса - найти если есть какой-нибудь практический способ обойти стирание типа.