在try-catch-finally中, 當return遇到finally:
1.在try catch塊里return的時候籍凝,finally也會被執(zhí)行幕垦。
2.return 語句會把后面的值復(fù)制到一份用來返回,如果return的是基本類型的紊撕,finally里對變量的改動將不起效果,如果 return 的是引用類型的蜒秤,改動將可以起效果面哥。
3.finally里的return語句會把try catch塊里的return語句效果給覆蓋掉很魂。
結(jié)論:看來return語句并不一定都是函數(shù)的出口,執(zhí)行return時咏瑟,只是把return后面的值復(fù)制了一份到返回值變量里去了拂到。
建議:1.最好把return放到方法尾而不要在try cath 里return
2.不要在try catch塊和finally塊里都包含return
3.如果在try catch塊里return, 則不要在finally塊里操作被return的變量