Questo per consentire il riferimento alle istanze di LinkedList come elenco o raccolta.
boolean addSomething(Collection c) {
return c.add(null); // expects collection, with add returning boolean
}
void hackList(LinkedList list) {
addSomething(list); // list is a Collection, OK to pass
}
LinkedList è Elenco e raccolta.
Per quanto riguarda il motivo per cui una collezione dovrebbe restituire booleano, questo sembra chiaramente spiegato in rispettivi javadoc :
...Ensures that this collection contains the specified element (optional operation). Returns true
if this collection changed as a result of the call. (Returns false
if this collection does not permit duplicates and already contains the specified element.)...