Java: Clase <T> y Clase: Diferencia cuando se usa desde dentro / fuera de la clase
Tengo una clase que necesita usar unClass<T>
parámetro (ver mi anterior semi-relacionadopregunta). Es:
public class BaseTable<T extends TableEntry>
{
protected Class<T> mClass;
...
public BaseTable(int rows, int cols, Class<T> clasz)
{
...
mClass = clasz;
}
public BaseTable(int rows, int cols)
{
this(rows, cols, StringTableEntry.class);
//Does NOT compile:
//expected [int, int, Class<T>], but got
//[int, int, Class<blah.blah.StringTableEntry>]
}
...
}
Me pregunto por qué el constructor (con 2 parámetros) no funciona, pero cuando invoco exactamente lo mismo de una clase externa, como esto:
mSomeTable = new BaseTable<StringTableEntry>(2, 2, StringTableEntry.class);
Se compila y corre sin quejarse. ¿Por qué y cómo evitar esto?
¡Gracias!