Czytałem o rodzajach ogólnych i nie rozumiałem potrzeby stosowania niezwiązanych symboli wieloznacznych i tego, jak różnią się one od typu nieprzetworzonego. Czytałem this question, ale nadal nie zrozumiałem tego wyraźnie. W Java tutorial page for unbound wildcard mam poniżej dwóch punktów, a ja nie rozumieć pierwszy punkt:Różnica między niezwiązanym symbolem wieloznacznym a typem nieprzetworzonym
- Jeśli piszesz metody, które mogą być realizowane z wykorzystaniem funkcjonalności dostarczanej w klasie
Object
.- Gdy kod używa metod w klasie ogólnej, które nie zależą od parametru typu. Na przykład:
List.size()
lubList.clear()
. W rzeczywistości tak często używa sięClass<?>
, ponieważ większość metod wClass<T>
nie zależy odT
.
Czy ktoś mógłby wyjaśnić różnicę między niezwiązanym symbolem wieloznacznym a typem surowym w języku laika.
Czym różni się List<?>
od List<Object>
?
Należy zauważyć, że termin "surowy typ" odnosi się do nieparametrycznego odniesienia do rodzaju ogólnego, np. 'List' vs.' Lista > '. Nieco różne koncepcje. – Alex
Tylko zwrócić uwagę, że 'List