Пустые операторы if [дубликаты]
На этот вопрос уже есть ответ здесь:
Точка с запятой в конце оператора if 17 ответовПод «пустым оператором if» я подразумеваю что-то вроде этого (обратите внимание на точку с запятой):
if (condition);
У меня возникают проблемы при рассмотрении заявки на это. С помощью цикла while вы можете сделать это:
while (callUntilReturnsFalse());
Но нет такого приложения для оператора if. Более того, Java-компилятор не выдает ошибку или предупреждение, когда сталкивается с таким утверждением. Это может привести к большим ибесшумный проблемы, особенно с длинным и запутанным утверждением:
if ((functionA() && functionB(getFoo()) ||
checkForComplexCondition(arg1, arg2, getBar(getFoo())));
{
doStuff();
}
Мой вопрос: почему это разрешено в Java? И, что более важно, могу ли я включить опцию, чтобы вызвать предупреждение, когда это происходит?
(Этот вопрос былспросил раньше что касается C #, который выдает предупреждение, но я надеялся найти способ вызвать предупреждение с Java.)