Wydaje się przesadne, gdy adnotacje dotyczą metody.Jak utworzyć adnotację przy użyciu @SuppressWarnings ("odznaczone") dla pojedynczego rzutu zamiast całej metody?
Jak używać adnotacji @SuppressWarnings ("odznaczone") dla pojedynczego rzutu zamiast całej metody?
W tym przykładzie właśnie skończyłem sprawdzać, czy rzut jest bezpieczny, więc gram dalej, ale otrzymuję denerwujące ostrzeżenie.
@Override
public void execDetails()
{
Map<Integer, ResponseList<?>> responseMap =
new HashMap<Integer, ResponseList<?>>();
// ... omitted code ...
ResponseList<?> responseList = responseMap.get(requestId);
Class<?> elementType = responseList.getElementType();
if (elementType == ExecutionDetail.class)
((ResponseList<ExecutionDetail>)responseList).add(new ExecutionDetail());
}
Wygląda na to, że adnotacja pomaga tylko wtedy, gdy rzutowanie i deklaracja zmiennych są w tym samym wyciągu. – H2ONaCl
@broiyan: Tak, to by mnie nie zaskoczyło - ale zawsze możesz wprowadzić dodatkową zmienną lokalną tylko ze względu na to stwierdzenie :) –
To może stać się bardzo brzydkie w bloku przełączającym ze względu na współdzielony zasięg. – shmosel