转载自https://blog.youkuaiyun.com/jackfrued。
在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,就会返回修改后的值。显然,在finally中返回或者修改返回值会对程序造成很大的困扰,可以在eclipse的Error/warning中将此设置为编译错误。
本文探讨了在Java中finally代码块内改变方法返回值的做法可能导致的问题。当方法包含finally块时,try中的return并不会立即返回给调用者,而是记录下来等待finally执行完毕后再返回。若在finally中修改了该返回值,则最终返回的是修改后的值,这种行为可能对程序逻辑产生不利影响。
转载自https://blog.youkuaiyun.com/jackfrued。
在finally中改变返回值的做法是不好的,因为如果存在finally代码块,try中的return语句不会立马返回调用者,而是记录下返回值待finally代码块执行完毕之后再向调用者返回其值,然后如果在finally中修改了返回值,就会返回修改后的值。显然,在finally中返回或者修改返回值会对程序造成很大的困扰,可以在eclipse的Error/warning中将此设置为编译错误。
841
1545

被折叠的 条评论
为什么被折叠?