Среда проверки: подавление предупреждений в конструкторе по умолчанию

У меня есть два конструктора: обычный ctor, который правильно инициализирует объект, и второй ctor по умолчанию для Hibernate, который генерирует предупреждения полей инициализации. Какой предпочтительный способ избавиться от предупреждений?

package test;

public class Example {
    String x;

    public Example(String x) {
        this.x = x;
    }

    Example() {
        // Ctor for Hibernate, warnings generated here.
    }
}

1 ответ

Решение

Вы не упомянули просмотр документации, поэтому я не уверен, что вы это сделали. Руководство по Checker Framework содержит главу "Подавление предупреждений", которая может содержать всю необходимую информацию.

Наиболее распространенным подходом является написание аннотации @SuppressingWarnings, которая является стандартным способом подавления предупреждений компилятором Java.

Вы должны записать его на наименьшем возможном элементе программы (таком как объявление локальной переменной, а не на весь конструктор или класс), и вы должны предоставить максимально конкретный ключ. Причина в том, чтобы избежать случайного подавления большего количества предупреждений, чем вы предполагали.

Другие вопросы по тегам