Try语句中有return,那么finally中的code会执行吗?在return前还是后面
展开全部
public Integer testReturn(){
int x = 1;
try {
System.out.println("->" + x);//1
return x;//5
} catch (Exception e) {}
finally {
System.out.println("-->" + x);//2
++x;//3
System.out.println("--->" + x);//4
}
return null;
}
输出结果顺序如代码中的注释,但是注意return x这里会输出1而不是2,因为这里的x是程序已经准备好的x,但还没执行,等到finally执行完毕之后再执行,finally中对x的修改不会对已经准备好返回的x产生影响。
int x = 1;
try {
System.out.println("->" + x);//1
return x;//5
} catch (Exception e) {}
finally {
System.out.println("-->" + x);//2
++x;//3
System.out.println("--->" + x);//4
}
return null;
}
输出结果顺序如代码中的注释,但是注意return x这里会输出1而不是2,因为这里的x是程序已经准备好的x,但还没执行,等到finally执行完毕之后再执行,finally中对x的修改不会对已经准备好返回的x产生影响。
2013-11-19
展开全部
会执行 在return之前执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询