Разница между свободным подстановочным знаком и необработанным типом
Я читал о дженериках, и я не понимал необходимость в свободных подстановочных знаках и как они отличаются от необработанного типа. Я читаюэтот вопрос но до сих пор не получил это ясно. вСтраница учебника по Java для несвязанных символов подстановки Я получил ниже двух пунктов, и я не понял первый пункт:
Если вы пишете метод, который может быть реализован с использованием функциональности, представленной вObject
класс.Когда код использует методы в общем классе, которые не зависят от параметра типа. Например,List.size()
или жеList.clear()
, По факту,Class<?>
так часто используется, потому что большинство методов вClass<T>
не зависит отT
.Может кто-нибудь, пожалуйста, объясните разницу между свободным подстановочным знаком и необработанным типом на языке неспециалистов.
КакList<?>
отличаться отList<Object>
?