Kullandığım @SuppressWarnings("unchecked")
ve @SuppressWarnings("null")
herhangi bir uyarı olmadan kod derleme izin çoğunlukla yöntemlerle yukarıda ama benim şüphelerim var. Bu Stackoverflow sorusunu buldum . Jon Skeet ilgi çekici bulduğum bir cevap yazdı .
Ona göre,
Bazen Java jenerikleri sadece istediğiniz şeyi yapmanıza izin vermez ve derleyiciye yaptığınız işin gerçekten yürütme zamanında yasal olacağını söylemeniz gerekir.
Ama ya bir istisna fırlatma şansı varsa? Uyarıları bastırmak o zaman kötü bir fikir değil mi? Sorunların ortaya çıkabileceği yerlerin farkında olmamalı mıyım?
Ayrıca, başka biri kodumu daha sonra değiştirir ve SuppressWarnings'i kaldırmadan şüpheli bir işlevsellik eklerse ne olur? Bu nasıl önlenebilir ve / veya buna başka bir alternatif var mı?
Ben kullanarak olmalı @SuppressWarnings("unchecked")
ve @SuppressWarnings("null")
?
Güncelleme # 1
Denetlenmeyen tipte yayınlar söz konusu olduğunda, bu cevaba göre (aşağıdaki yorumlarda @gnat tarafından belirtilmiştir), bu uyarıların bastırılması gereklidir.
Birçok zorunlu Java kütüphanesi, güvenli olmayan daktilolara duyulan ihtiyacı ortadan kaldırmak için hiç güncellenmedi. Diğer daha önemli uyarıların fark edilmesi ve düzeltilmesi için bu uyarıların bastırılması gereklidir.
Diğer uyarıların bastırılması durumunda, hala biraz gri bir alanda.
Güncelleme # 2
Gereğince Oracle Dokümanlar (ayrıca aşağıda bazı cevaplar tarafından bahsedilen):
Bir stil meselesi olarak, programcılar bu ek açıklamayı her zaman etkili olduğu en derin yuvalanmış öğede kullanmalıdır. Belirli bir yöntemde bir uyarıyı bastırmak istiyorsanız, sınıfından ziyade bu yönteme açıklama eklemeniz gerekir.