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。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步