interface Addable<E> {
public E add(E x);
public E sub(E y);
public E zero();
}
class SumSet<E extends Addable> implements Set<E> {
private E element;
public SumSet(E element) {
this.element = element;
}
public E getSum() {
return element.add(element.zero());
}
}
Sembra che element.add()
non restituisca un E extends Addable
ma piuttosto un Object
. Perché? Ha qualcosa a che fare con Java che non sa in tempo reale quali sono i tipi di oggetto, quindi si presuppone che siano oggetti (quindi richiedono un cast)?Qual è il problema con questo codice Java relativo a Generics?
Grazie
+1 per la pubblicazione di uno snippet di codice che può essere facilmente tagliato e incollato per testare. – cletus