Java void方法中的Return语句
我有以下返回void的方法,我需要在另一个也返回void的方法中使用它。 我能做以下事情吗Java void方法中的Return语句,java,Java,我有以下返回void的方法,我需要在另一个也返回void的方法中使用它。 我能做以下事情吗 public void doSomething(){} public void myMethod() { return doSomething(); } 谢谢你的评论,但让我更具体一点 如果发生了什么事情,我只做一些事情,否则我会做其他事情 public void doSomething(){} public void myMethod() { for(...) if
public void doSomething(){}
public void myMethod()
{
return doSomething();
}
谢谢你的评论,但让我更具体一点
如果发生了什么事情,我只做一些事情,否则我会做其他事情
public void doSomething(){}
public void myMethod()
{
for(...)
if(somethingHappens)
{
doSomething();
return;
}
doOtherStuff();
}
我是否可以编写returndosomething(),而不是上面的代码代码>在if语句中?否,只需执行以下操作:
public void doSomething() { }
public void myMethod()
{
doSomething();
}
或在第二种情况下:
public void doSomething() { }
public void myMethod()
{
// ...
if (somethingHappens)
{
doSomething();
return;
}
// ...
}
“归空”意味着什么也不归。如果您想从myMethod
的主体中“跳出”,请使用return代码>编译器不允许写入返回void代码>(“表达式的非法开始”)或返回doSomething()代码>(“无法从结果类型为void的方法返回值”)。我理解返回方法调用的“void”或“void result”似乎是合乎逻辑的,但这样的代码会产生误导。我的意思是大多数读了的程序员都会返回doSomething()
会认为有东西要返回。void函数不会/不能返回任何这样的东西。只需调用函数。否,在Javavoid函数中不需要返回。相反,请执行以下操作:
public void myMethod(){
doSomething();
}
如果你愿意的话,你可以在doSomething()之后加上一个return,但正如我所说,这是没有必要的。你要么像其他人指出的那样使用doSoemthing,要么
public (insert data type like int, double, string, etc) myMethod()
{
return doSomething();
}
如果dosomething返回一个int
// if you wanted to take 2 numbers and add them
public void myMethod()
{
valueOfX+Y = doSomething();
}
public int doSomething()
{
x = 2;
y = 2;
return X+Y;
}
希望你能把它清理干净
- 条件
(某些事情发生)
实际上取决于doSomething()
做了什么
- 而
doSomething()
是一种可以修改的方法
你应该考虑让它返回<代码>布尔(或任何合适的类型)值,它告诉CALLY方法是否发生。
然后,代码看起来有点像这样:
public boolean doSomething() {
// internal working
if (internalCondition) {
// something done here
return true;
}
// not done ;
return false;
}
public void myMethod()
{
for(...)
if (doSomething())
{
return;
}
// didn't hit 'doSomething() == true'
doOtherStuff();
}
另外,确保你的资本化正确Return
应该是Return
和Public
应该是Public
。请查看我的更新答案。当您使用void时是否可以返回一些内容?如果我在void
函数中使用Return
作为if语句,它只会离开(跳出)该函数!