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