Пустые операторы if [дубликаты]

На этот вопрос уже есть ответ здесь:

Точка с запятой в конце оператора if 17 ответов

Под «пустым оператором if» я подразумеваю что-то вроде этого (обратите внимание на точку с запятой):

if (condition);

У меня возникают проблемы при рассмотрении заявки на это. С помощью цикла while вы можете сделать это:

while (callUntilReturnsFalse());

Но нет такого приложения для оператора if. Более того, Java-компилятор не выдает ошибку или предупреждение, когда сталкивается с таким утверждением. Это может привести к большим ибесшумный проблемы, особенно с длинным и запутанным утверждением:

if ((functionA() && functionB(getFoo()) ||
    checkForComplexCondition(arg1, arg2, getBar(getFoo())));
{
    doStuff();
}

Мой вопрос: почему это разрешено в Java? И, что более важно, могу ли я включить опцию, чтобы вызвать предупреждение, когда это происходит?

(Этот вопрос былспросил раньше что касается C #, который выдает предупреждение, но я надеялся найти способ вызвать предупреждение с Java.)

Ответы на вопрос(10)

Ваш ответ на вопрос