¿Hay alguna forma de evitar el borrado de tipos y obtener acceso a un parámetro de tipo?Cómo evitar el borrado de tipo Java
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();
...
}
}
necesito saber sobre T
, y hacer cosas con ella. ¿Es posible, y si es así, cómo se puede hacer sin pasando la clase en el constructor o en cualquier lugar además del parámetro?
EDIT: El principal objetivo de esta pregunta es averiguar si hay ninguna forma práctica alrededor de tipo borrado.
+1 Sí - Esta es otra alternativa basada en la reflexión si prefieres subclases para pasar el objeto 'Clase'. –