Leere if-Anweisungen [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Semikolon am Ende der 'if'-Anweisung 17 AntwortenMit "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.)