"Missing return statement" innerhalb der if / for / while

Ich habe eine Frage bezüglich return-Anweisungen innerhalb if() while() oder for() Aussagen.
Wie Sie sehen können, in der folgenden Methode ist es erwartet, dass ich return einen String-Wert.
Das problem ist, dass wenn ich zu return - Anweisung innerhalb meiner if Anweisungsblock, würde der compiler wieder den Fehler missing return statement.

public String myMethod()
{
    if(condition)
    {
       return x;
    }
}

Natürlich könnte ich die Methode ändern header void und verwenden System.out.println statt return. Aber ist das der richtige Weg, es zu tun? bin ich etwas fehlt?

Jede Hilfe wird sehr geschätzt.

  • Was passiert, wenn die Bedingung nicht wahr ist? Was macht Ihre Methode Rendite in diesem Fall?
  • Sie könnten wieder einen Standardwert (wie null), wenn der Wert nicht gefunden wird. Beim aufrufen der Methode, die Sie prüfen, ob der Wert gleich dem default-Wert und kann so prüfen, ob der zurückgegebene Wert weiter bearbeitet werden sollen.
  • sollten Sie einen return Anweisung nach der if oder in einem else - Anweisung
  • Jeder code-Pfad zurückkehren muss; hier ist nur die code-Pfad, der etwas zurückgibt, wenn condition wahr ist.
  • mögliche Duplikate von Missing return statement } in java-Fehler
InformationsquelleAutor user3531560 | 2014-04-14
Schreibe einen Kommentar