Perché non usi usa un limite superiore nella parametrizzazione generica per E
?
Come in:
private <E extends Serializable> void writeEvent(ObjectOutputStream out,E obj) {
// etc.
}
La confusione qui sarebbe quella Serializable
è un'interfaccia e non può essere "esteso" dalle classi (ma esso Potere essere esteso da altre interfacce come osserva Thomas), ma il limite superiore è ancora valido.
Naturalmente questo implica che il tuo E
S Will bisogno implementare Serializable
, o implementa un'interfaccia che si estende Serializable
.