Leere if-Anweisungen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Semikolon am Ende der 'if'-Anweisung 17 Antworten

Mit "leere if-Anweisung" meine ich so etwas (beachte das Semikolon):

if (condition);

Ich habe Probleme, mir eine Bewerbung dafür auszudenken. Mit einer while-Schleife können Sie dies tun:

while (callUntilReturnsFalse());

Aber es gibt keine solche Anwendung für eine if-Anweisung. Darüber hinaus gibt der Java-Compiler bei einer solchen Anweisung weder einen Fehler noch eine Warnung aus. Dies kann zu großen und schweren Schäden führenLeise Probleme, vor allem mit einer langen und verschlungenen Aussage:

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

Meine Frage ist: warum ist das in Java erlaubt? Und, was noch wichtiger ist, kann ich eine Option aktivieren, um in diesem Fall eine Warnung auszulösen?

(Diese Frage warvorher gefragt in Bezug auf C #, das eine Warnung ausgibt, aber ich hatte gehofft, einen Weg zu finden, eine Warnung mit Java auszulösen.)

Antworten auf die Frage(10)

Ihre Antwort auf die Frage