Ho una domanda riguardante le dichiarazioni di reso utilizzate all'interno delle dichiarazioni if()
while()
o for()
. Come si può vedere nel seguente metodo, si prevede che I return
un valore di stringa. Il problema è che se dovessi usare un return
all'interno del mio blocco di istruzioni if
, il compilatore restituirebbe l'errore missing return statement
."Istruzione di reso mancante" all'interno di if/for/while
public String myMethod()
{
if(condition)
{
return x;
}
}
Naturalmente potrebbe cambiare l'intestazione metodo di void
e utilizzare System.out.println
anziché return
. Ma è questo il modo giusto per farlo? mi sto perdendo qualcosa?
Qualsiasi aiuto è molto apprezzato.
Cosa succede se la condizione non è vera? Che cosa restituisce il tuo metodo in questo caso? – devnull
È possibile restituire un valore predefinito (come null), se il valore non viene trovato. Quando si chiama il metodo, si controlla se il valore è uguale al valore predefinito e può quindi verificare se il valore restituito deve essere ulteriormente elaborato. – Pphoenix
si dovrebbe aggiungere un'istruzione 'return' dopo' if' o in un'istruzione 'else' –