Interfejs Stream ma dwa przeciążenia dla metody of()
. Jednym z nich jest metoda zmiennej arytmetycznej, podczas gdy druga przyjmuje pojedynczy argument.Dlaczego przeładować metodę varargs() w interfejsie Java Stream?
Czy metoda pojedynczej argumentacji jest optymalizacją wydajności w porównaniu z przekazywaniem jednego argumentu do metody zmiennej-arytmu? Jeśli tak, w jaki sposób poprawia wydajność? Te same pytania można zadać w metodzie empty()
, która wydaje się być cukrem składającym się z arii zmiennych of()
.
Widzę, że implementacja różni się między tymi metodami, z tą różnicą, że powstaje instancja Spliterator
; ale co to za korzyść oferuje interfejs API Stream
?
Miałem na myśli tylko to, że sygnatury metody zdają się wskazywać na cukier składniowy (a dokumentacja nie wskazuje w ten czy w inny sposób). Widzę, że implementacje są różne. – jaco0646
Unikanie pojedynczego elementu lub pustej tablicy wydaje się być mikro-optymalizacją. Czy jest to rzecz, o którą powinien się martwić przeciętny programista? Czy powinienem zapewnić tego rodzaju optymalizację wydajności dla wszystkich moich metod varargs? – jaco0646
@ jaco0646, co jest nie tak z składni cukru? Zwłaszcza, jeśli oferuje również możliwości optymalizacji wydajności. –