In una classe senza tipi generici che voglio dichiarare un campo generico piuttosto complesso simile a questi:Java dichiarazione campo generico
public class Client {
private Map<Class<T extends Serializable>, List<Consumer<S extends T>>> classToConsumerTry1;
private <T extends Serializable, S extends T> Map<Class<T>, List<Consumer<S>>> classToConsumerTry2;
}
promblem è il compilatore Java non mi lascia :)
Così la mia domanda è come introdurre correttamente T e S senza aggiungere tipi al mio client di classe.
Il mio obiettivo è quello di far rispettare la Class
essere un sottotipo di Serializable
ed il Consumer
essere un sottotipo della classe si è scelto per Class
.
Perché non si desidera estendere la tua dichiarazione di classe? – Smutje
Perché la mia 'Mappa' dovrebbe poter contenere diversi valori per T e S, non solo quelli definiti nella dichiarazione' Client'. – succcubbus
Dove vengono inizializzati i membri della mappa? In un costruttore? In qualche metodo setter? – Eran