ho qualcosa sulla falsariga di:"token imprevisto" utilizzando jolly inferiore delimitata (Java)
interface Foo<T> {
//... lines [0,45]...
/*line 46*/ <R, X super T&R> List<X> weave(R value);
//...
}
Ma IntelliJ sta segnalando:
- Errore: (46, 18) Java: > atteso
- Errore: (46, 19) Java: inizio illegale di tipo
- Errore: (46, 26) java: '(' previsto
- Errore: (46, 28) Java: 0.123.870,395428 millionsidentificatore> previsto
- Errore: (46, 29) Java: 'l' atteso
- Errore: (46, 43) Java: < identificatore> previsto
Qual è il problema? Non mi è permesso legare un nome ad un limite inferiore? Oppure sono autorizzato a utilizzare un'espressione R&X
in un limite superiore?
Cambiare a
interface Foo<T> {
//... lines [0,45]...
/*line 46*/ <R> List<? super T&R> weave(R value);
//...
}
cede
- errore (46, 31) Java:> previsto
- errore (46, 32) java: '(' previsto
- errore (46, 33) java: inizio illegale di tipo
@rgettman FYI la risposta è stata corretta. I downvoter e le persone che hanno giustificato il downvote stavano confondendo i caratteri jolly con i parametri di tipo. "Non puoi dichiarare una variabile di tipo super": http://stackoverflow.com/questions/2800369/bounding-generics-with-super-keyword "non puoi dichiarare due limiti che sono di per sé parametri di tipo generico" : http://stackoverflow.com/questions/13101991/java-generics-make-generic-to-extends-2-interfaces –