2014-03-21 5 views
0

Я часто объявляю некоторые константы, чтобы условно компилировать/не компилировать куски кода. Я помещаю эти константы в один класс, затем я использую их по всему (большому) коду приложения.недопустимые предупреждения: мертвый код и условная компиляция

Conf.java

public static final int GUI_ACTIONBAR_HEIGHT=0; 

в другом месте (пример):

super.onCreate(savedInstanceState, Conf.GUI_ACTIONBAR_HEIGHT==0?R.layout.activity_funq_play_noactionbar:R.layout.activity_funq_play, true); 

Тем не менее, это вызывает предупреждение "comparing identical expressions" в случае, показанном. Очевидно, с чем я могу жить, но я хотел бы знать, есть ли какая-нибудь магия SupressWarning, чтобы избавиться от нее (и желтый значок предупреждения в исходном коде).

@SupressWarnings ("unused") 

не делает трюк.

ответ

0

Это предупреждение о компиляции Java и включение/выключение его в действительности зависит от IDE. Предполагая, что вы используете Eclipse, вы можете перейти к настройкам на Preferences > Java > Compiler > Errors/Warning > Comparing identical values ('x==x') 'ignore'. Это должно отключить его.

+0

прохладный! смотрел возрасты для этого .. – rupps

0

Уродливые решение, которое работает в не статические методы:

  1. Замените статический MyClass.CONSTANT доступ к this.CONSTANT доступа.
  2. После этого у вас будет один «Статическое поле MyClass.CONSTANT должно быть доступным статическим способом» предупреждение.
  3. Это предупреждение может быть подавлено с помощью @SuppressWarnings("static-access") и более никакого предупреждения о сравнении.

В вашем примере это дает:

@SuppressWarnings("static-access") 
public void onCreate(Object p1, Object p2, boolean b) { 
    super.onCreate(savedInstanceState, this.GUI_ACTIONBAR_HEIGHT==0?R.layout.activity_funq_play_noactionbar:R.layout.activity_funq_play, true); 
} 

Этот способ работает только в не статических методов.

+0

спасибо за предложение, однако мой вариант использования - это один класс «Конфигурация», который содержит разные конечные булевы, поэтому я настраиваю множество настроек приложения в одном централизованном месте! – rupps

 Смежные вопросы

  • Нет связанных вопросов^_^