Java多次收益:哪一个设定最终收益?

给出以下代码:

String test() {

try {

return "1";

} finally {

return "2";

}

}

语言规范是否定义了对的调用的返回值test()?换句话说:每个JVM是否总是相同?

在Sun JVM中,返回值为2,但是我想确定这与VM无关。

回答:

是的,语言规范定义结果为“ 2”。如果VM采取不同的方式,则不符合规范。

大多数编译器都会对此抱怨。以Eclipse为例,它将声称永远不会执行return块,但这是错误的。

编写这样的代码是非常糟糕的做法,永远不要这样做:)

以上是 Java多次收益:哪一个设定最终收益? 的全部内容, 来源链接: utcz.com/qa/398636.html

回到顶部