Java: Klasa <T> i Klasa: Różnica w przypadku używania z / poza klasą

Mam klasę, która musi użyćClass<T> parametr (patrz moje poprzednie pół-powiązanepytanie). To jest:

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>]
    }
...
}

Zastanawiam się, dlaczego konstruktor (z 2 parametrami) nie działa, ale kiedy wywoływam dokładnie to samo z klasy zewnętrznej, jak poniżej:

    mSomeTable = new BaseTable<StringTableEntry>(2, 2, StringTableEntry.class);

Kompiluje się i działa bez narzekania. Dlaczego tak i jak to obejść?

Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion