Java: getClass () ограниченного типа

Я кое-что заметил, пока дурачился с дженериками. В приведенном ниже примереdoStuff1 компилирует ноdoStuff2 Безразлично»т:

public  void doStuff1(T value) {
    Class theClass = value.getClass();
}

public  void doStuff2(T value) {
    Class theClass = value.getClass();
}

Итак, я посмотрел документацию дляObject.getClass() и нашел это:

Фактический тип результата - класс <? расширяет | X |> где | X | стирание статического типа выражения, для которого вызывается getClass.

Это сделало меня немного любопытным. ПочемуgetClass() разработан таким образом? Я могу понять преобразование типов в их необработанные классы, если это применимо, но я не вижу очевидной причины, почему ониобязательно придется сделать это и убитьT, Есть ли конкретная причина, по которой он тоже от нее избавляется, или это просто генерал?позволять'просто избавиться от всего, потому что этопроще; кому это когда-нибудь понадобится " подход?

Ответы на вопрос(4)

Ваш ответ на вопрос