ho la seguente struttura di classe:Java - Tornare tipo corretto dal metodo generico
public class Team {
...
}
public class Event {
}
public abstract class Fixture<T extends Team> implements Event {
...
}
public abstract class Forecast<Event> {
}
public class MyPrediction<T extends Fixture<? extends Team>> extends Forecast<Fixture<? extends Team>>{
}
Sto cercando di modellare gli eventi sportivi di ogni genere (cioè un 'Fixture' è per un particolare gioco tra due partecipanti giocano l'uno contro l'altro, mentre un altro tipo di "Evento" può avere molti partecipanti), insieme alle previsioni per l'esito di particolari "Eventi". Ho un metodo generico:
public <T> MyPrediction<Fixture<? extends Team>> getMyPrediction(Fixture<? extends Team> fixture) {
}
voglio essere in grado di restituire un'istanza MyPrediction
che ha il tipo generico dell'argomento fixture
, ma io non riesco a farlo. Ad esempio, se faccio qualcosa di simile a quanto segue, quindi ottengo un errore di compilazione:
SoccerFixture<EnglishSoccerTeams> soccerMatch = new ScoccerFixture<EnglishSoccerTeams>();
MyPrediction<SoccerFixture<EnglishSoccerTeams>> = getMyPrediction(soccerMatch);
io sono disposto a cambiare la mia struttura di classe per incorporare questa funzionalità. Come posso farlo?
"Se faccio qualcosa come il seguente" ... allora (quale problema incontrate)? –
sembra che Event debba essere un'interfaccia –