Generics wildcards (? extends, ? super)
Në shqip: Wildcard-et te gjenerikët
ShpjegimiSQ
List<? extends Number> pranon listë Integer-ash ose Double-sh (vetëm për lexim), ndërsa List<? super Integer> pranon vende ku mund të shkruash Integer-a. Rregulli PECS: Producer Extends, Consumer Super.
EnglishEN
List<? extends Number> accepts a list of Integers or Doubles (read-only), while List<? super Integer> accepts places you can write Integers into. The PECS rule: Producer Extends, Consumer Super.
Si ta mendosh
Si një shportë ku „çdo frut“ lejohet për ta ngrënë, por vetëm mollë lejohen për t'u futur.
Lexoje në anglisht
Like a basket where “any fruit” is fine to eat from, but only apples may be put in.
Shembull kodijava
double shuma(List<? extends Number> v) {
return v.stream().mapToDouble(Number::doubleValue).sum();
}