Dzień dobry wszystkimDlaczego musimy użyć zmiennej pośredniej dla @SuppressWarnings ("odznaczone")?
Zastanawiałem się, co jest powodem, że
public class test<T> {
T[] backing_array;
public void a(int initial_capacity) {
@SuppressWarnings("unchecked")
T[] backing_array = (T[]) new Object[initial_capacity];
this.backing_array = backing_array;
}
}
jest ważna ale
public class test<T> {
T[] backing_array;
public void b(int initial_capacity) {
@SuppressWarnings("unchecked")
this.backing_array = (T[]) new Object[initial_capacity];
}
}
jest błąd składni/kompilator?
Jaki jest powód, dla którego musimy użyć zmiennej pośredniej dla @SuppressWarnings("unchecked")
?
mmm ... tutaj, ale jeśli przestawiłeś SuppressWarning na blok klasy, jest w porządku chociaż .. +1 za to. – Jasonw
@Jasonw, z http://docs.oracle.com/javase/7/docs/api/java/lang/SuppressWarnings.html: _ "W kwestii stylu, programiści powinni zawsze używać tej adnotacji w najgłębiej zagnieżdżonych element, w którym jest skuteczny. Jeśli chcesz wyłączyć ostrzeżenie w konkretnej metodzie, powinieneś opisać tę metodę, a nie jej klasę. "_ –