Другие ответы уже объясняли случаи использования @SuppressWarnings
много, но я хочу подчеркнуть, что иногда вам абсолютно необходимо использовать @SuppressWarnings
, чтобы преодолеть ограничения самого языка , и в этихслучаи использования @SuppressWarnings
абсолютно законны.
В других случаях использование @SuppressWarnings
может считаться сомнительным, поскольку в этих случаях вы всегда можете избавиться от предупреждений, изменив код (хотя, очевидно, это не всегда приемлемо).
Вот некоторые распространенные случаи, когда вы абсолютно не можете избавиться от предупреждений без @SuppressWarnings
:
- Реализация универсальной коллекции на основе массива (поскольку вы не можете создать универсальный массив)
- A
Map
от классов к их реализациям (поскольку вы не можете назначать разные значения параметра универсального типа для разных объектов карты)