Java

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();
}

Terma të lidhur