gpt4 book ai didi

java - 最后一条语句应该是 `return` 和非 void 返回类型方法吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:58:00 25 4
gpt4 key购买 nike

最后一条语句是否应该是 return 和非 void 返回类型方法?但这仍然有效。

public String test()
{
try
{
// Do my work
return "myValue";
}
finally
{
System.out.println("I'm in Finally");
}
}

我有点缺乏了解这是如何工作的知识。谁能给我解释一下。

最佳答案

这段代码没有问题,因为通过它的每条可能路径都不可避免地导致return语句*。它不一定是文本上的最后一条语句,只要它是逻辑上的最后一条语句(Java 编译器足够聪明,可以判断是否是这样,如果代码中有路径不返回值或抛出异常)。在 return (即你的 finally block )之后将执行代码这一事实并没有改变任何东西:就编译器而言,你的函数提供了一个退出函数前返回值。

* 事实上,您的函数代码只有一条路径,它终止于 return 语句。

关于java - 最后一条语句应该是 `return` 和非 void 返回类型方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com