次のコードスニペットでは、finallyブロックでjの値が20に変更され、元の値10が返されます。tryブロックで値が最後に変更されました。
public class Test{
public static void main(String args[]){
int i=testMethod(10);
System.out.println(i);
}
public static int testMethod(int j){
try{
return j;
}finally{
j=20;
}
}
}
jを20に戻す場合は、tryブロックではなくfinallyブロックの後ろにreturnステートメントを挿入します。 –