try-finally中return的执行先后顺序

关于try-finally中return谁先执行,刚开始只记得是一个面试题;
今天遇到了较类似的情况,于是写了个小的事例进行测试
public String getString() {
    try {
      System.out.println("try");
      return "try中return";
    } finally {
      System.out.println("finally");
      return "finally中return";
    }
}
以上是try和finally都有return的情况;
执行结果为:

try
finally
finally中return

如果注释掉finally中的return,执行结果为:

try
finally
try中return

总结:
无论try中是否有return语句,finally内的语句都会执行

发表回复

您的电子邮箱地址不会被公开。

12 − 4 =