L'interfaccia Stream ha due sovraccarichi per il metodo of()
. Uno di questi è un metodo a variabile, mentre l'altro richiede un singolo argomento.Perché sovraccaricare il metodo varargs di() nell'interfaccia di Java Stream?
Il metodo a un argomento è un ottimizzazione delle prestazioni rispetto al passaggio di un argomento al metodo di variabile-aritmetica? Se sì, come migliora le prestazioni? Le stesse domande potrebbero essere poste al metodo empty()
, che sembrerebbe essere la sintassi dello zucchero attorno alla variabile aritmetica of()
.
Vedo che l'implementazione differisce tra questi metodi, con la differenza che apparentemente è come il Spliterator
viene istanziato; ma quale vantaggio offre questa API Stream
?
Intendevo solo che le firme dei metodi sembrerebbero indicare lo zucchero di sintassi (e la documentazione non punta in un modo o nell'altro). Vedo che le implementazioni sono diverse. – jaco0646
L'evitamento di un elemento singolo o di un array vuoto sembra una micro-ottimizzazione. È questo il genere di cose di cui uno sviluppatore medio dovrebbe preoccuparsi? Devo fornire questo tipo di ottimizzazione delle prestazioni per tutti i miei metodi varargs? – jaco0646
@ jaco0646, cosa c'è di sbagliato nello zucchero della sintassi? Soprattutto se offre anche opportunità di ottimizzazione delle prestazioni. –