Mam rodzaju metody util przekształcić varargs danego typu do tablicy tego typu - wygląda to tak:Czy to korzystanie z varargs jest bezpieczne?
public K[] array(K... ks) {
return ks;
}
Sprawa stosowanie jest tak, że zamiast definiowania tablicę podczas wywoływania metody co wymaga tablicy, możesz po prostu zrobić tablicę (val1, val2, val3).
Jednak IntelliJ daje mi ostrzeżenia o zanieczyszczeniu sterty. Rozumiem, co to oznacza w pewnym stopniu, ale nie mam dużego doświadczenia ze specyfiką - chciałbym wiedzieć, czy mogę dodać @SafeVarargs i czy ta metoda jest rzeczywiście bezpieczna.
IntelliJ mówi:
Problem streszczenie Możliwe zanieczyszczenie sterty z parametryzowanego typu vararg na linii 249
rozdzielczości Problem Bądź ostateczna i opisywanie jak @SafeVarargs
K jest zadeklarowana jako typ parametru klasy, wraz z V.
IMO nie trzeba takiej metody, wystarczy użyć 'Cokolwiek [] = {whateverArray val1, wart2, val3, ...};' –
Czy możesz podać dokładnych * * szczegóły ostrzeżenia zanieczyszczenia kupa? I gdzie jest zadeklarowany parametr typu "K"? –
@ Luiggi, tak, ale to narzędzie. 'K [] keys = {key1, key2, key3}; object.method (keys); 'vs' object.method (array (key1, key2, key3)); '- drugi jest o wiele łatwiejszy do napisania, zwłaszcza gdy robisz to dużo. – DziNeIT