Java中的return关键字
Java常见面试题之一:
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
请看下面程序就可以解释:
public class FinallyTest { public static void main(String[] args) { System.out.println(returnAndFinally()); } public static int returnAndFinally(){ int result = 0; try { result = 1; return result; } catch (Exception e) { }finally{ result ++; System.out.println("finally..."); } System.out.println("afterfinally..."); return result; } }
结果如下:
finally... 1
从结果可以看出,其实关于这个回答可以说是,finally是在return中间执行的,执行到return之后,结果就放在一个临时空间里面,然后就执行finally,虽然finally里面有对result里面操作,但是已经不影响结果了,除非是在finally里面有执行return。
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步