Ben o tip bir diziye bir türde bir varargs dönüştürmeye util yöntemin bir tür var - bu şuna benzer:Bu varargs güvenli kullanım mı?
public K[] array(K... ks) {
return ks;
}
kullanım durumu böyledir yerine bir yöntem çağrılırken bir dizi tanımlayan bir dizi gerektirir, sadece dizi yapabilirsiniz (val1, val2, val3). Bununla birlikte, IntelliJ bana yığın kirliliği uyarıları veriyor. Bunun ne anlama geldiğini anlıyorum, ama özellikleriyle çok fazla tecrübem yok - bu yüzden, @SafeVarargs ekleyip ekleyemediğimi ve bu yöntemin gerçekten güvenli olup olmadığını bilmek istiyorum.
IntelliJ diyor ki: hattında parametreli vararg türünden
Sorun sinopsis Olası yığın kirliliği 249
Sorun çözünürlüğü nihai yapın ve @SafeVarargs
K olarak bildirilmiş olması açıklama Bir sınıfın parametre parametresi ile birlikte V.
IMO böyle bir yöntem gerekmez, sadece kullanmak 'ne olursa olsun [] whateverArray = {val1, val2, VAL3, ...};' –
Eğer yığın kirliliği uyarısı * kesin * detay verir misin? Ve k tipi parametre parametresi nerede ilan edildi? –
@Luiggi, evet, ama bu bir yardımcı program. 'K [] tuşları = {key1, key2, key3}; object.method (keys); 'vs' object.method (dizi (key1, key2, key3)); '- ikincisi, özellikle çok yaptığınız zaman yazmak daha kolaydır. – DziNeIT