Attualmente sto imparando Java, quindi questa potrebbe essere una domanda derivante dalla mancanza di comprensione di Java (mentre si sta imparando anche l'API degli Streams)
Nelle dichiarazioni di funzione spesso vedo due tipi di modelli per i valori di ritorno. Ad esempio qui sotto abbiamo <T,U>
e anche Collector<T,?,U>
. Come dovrei leggere questo? Che restituisce uno dei due tipi possibili? Questo sembra strano dato che ho sempre pensato che le funzioni restituiscano un tipo di dati.
public static <T,U> Collector<T,?,U> reducing(U identity,
Function<? super T,? extends U> mapper,
BinaryOperator<U> op)