Java – return statement in void method
I have the following method to return void. I need to use it in another method that also returns void
@H_ 403_ 9@
@H_ 403_ 9@
public void doSomething(){}
public void myMethod()
{
return doSomething();
}
Thank you for all your comments, but let me be more specific @ H_ 403_ 9@
If something happens, I only do something, otherwise I do something else @ H_ 403_ 9@
@H_ 403_ 9@
public void doSomething(){}
public void myMethod()
{
for(...)
if(somethingHappens)
{
doSomething();
return;
}
doOtherStuff();
}
Instead of the above code, I can only write return dosomething(); In the if statement@ H_ 403_ 9@ @H_ 301_ 4@
resolvent
Solution
No, just do this:
@H_ 403_ 9@
@H_ 403_ 9@
public void doSomething() { }
public void myMethod()
{
doSomething();
}
Or in the second case: @ h_ 403_ 9@
@H_ 403_ 9@
public void doSomething() { }
public void myMethod()
{
// ...
if (somethingHappens)
{
doSomething();
return;
}
// ...
}
"Invalid return" means nothing is returned If you want to "jump out" of the body of mymethod, please use return; The compiler does not allow writing to return void; ("illegal start expression") or return dosomething(); ("cannot return a value from a method with result type void") I understand that it seems logical to return "void" or "void result" of a method call, but such code can be misleading I mean, most programmers have read something like return dosomething(); I think there will be a return@ H_ 403_ 9@ @H_ 301_ 4@ @H_ 301_ 4@
