Sentencias if vacías [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Punto y coma al final de la declaración 'if' 17 respuestas

Por "declaración if vacía", me refiero a algo como esto (note el punto y coma):

if (condition);

Estoy teniendo problemas para pensar en una aplicación para esto. Con un bucle while puedes hacer esto:

while (callUntilReturnsFalse());

Pero no hay tal aplicación para una declaración if. Además, el compilador de Java no emite un error ni una advertencia cuando se enfrenta a dicha declaración. Esto puede llevar a grandes ysilencio Problemas, especialmente con una declaración larga y complicada:

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

Mi pregunta es: ¿por qué esto está permitido en Java? Y, lo que es más importante, ¿puedo habilitar una opción para provocar una advertencia cuando esto suceda?

(Esta pregunta fuepreguntado antes con respecto a C #, que emite una advertencia, pero esperaba encontrar una manera de provocar una advertencia con Java.)

Respuestas a la pregunta(10)

Su respuesta a la pregunta