Hey, arbeite mich grad in Java rein und bin in nem Buch auf folgendes gestoßen.
Wäre jemand so nett, den Methodenkopf zu erklären? Klar weis ich was Generics sind und man sie verwendet etc. aber hier blick ich nicht ganz durch. Im Buch wird nix weiteres zu gesagt.
Was ich mir zusammen reime ist eben, dass der return value eben auch Generisch ist, klar. Aber warum extends Object? Alles ist doch von Object schon abgeleitet und warum die Verknüpfung durch &, wenns einfach mehrere erweiterungen wären, würde man doch mit einem Komma (,) trennen, oder nicht?
Wäre echt nett, wenn ihr das Idioten gerecht erklären würdet.
Grüße
Java:
public static <T extends Object & Comparable<? super T>> T min( Collection<? extends T> coll ){
Iterator<? extends T> i = coll.iterator();
T candidate = i.next();
while( i.hasNext() ){
T next = i.next();
if ( next.compareTo(candidate) < 0 )
candidate = next;
}
return candidate;
}
Wäre jemand so nett, den Methodenkopf zu erklären? Klar weis ich was Generics sind und man sie verwendet etc. aber hier blick ich nicht ganz durch. Im Buch wird nix weiteres zu gesagt.
Was ich mir zusammen reime ist eben, dass der return value eben auch Generisch ist, klar. Aber warum extends Object? Alles ist doch von Object schon abgeleitet und warum die Verknüpfung durch &, wenns einfach mehrere erweiterungen wären, würde man doch mit einem Komma (,) trennen, oder nicht?
Wäre echt nett, wenn ihr das Idioten gerecht erklären würdet.
Grüße