在Java中,当你在return;
函数中使用void
语句时,在低级别上发生了什么,而不是让函数到达它的结尾?有什么不同吗?
例如,可能存在一些逻辑差异(和编译时间),例如
public void foo() {
if (true) {
return;
}
doSomething();
}
我们永远不会执行doSomething()
。但是,那个不我在说什么。我在谈论:
public void foo1() {
doSomething();
return;
}
VS
public void foo2() {
doSomething();
}
在机器级别处理这个问题有什么不同吗?
答案 0 :(得分:2)
参考此Oracle doc.
声明为void的任何方法都不返回值。
将“return”语句添加到此类方法是可选的。
'return'语句的唯一目的就是从控制流程块中分出并退出方法。
public void foo1() {
return;
doSomething(); //compiler error.
}
因此,
public void foo1() {
doSomething();
return;
}
和
public void foo2() {
doSomething();
}
在技术上是一样的。