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