++问题与return和finally的问题

 

 

方法一:

public static int method()2 {
   int i;
  try {
    i = 1;
    return i;
  } catch (Exception e) {
    i = 2;
    return i;
  } finally {
   i = 3;
  }
}

 

方法二:

public static int method()2 {
  int i;
  try {
    i = 1;
  } catch (Exception e) {
    i = 2;
    return i;
  } finally {
    i = 3;
  }
  return i;
}

 

如果你觉得上面的两个方法输入的结果是一样的,或者方法1输出的是1, 那么恭喜你回答错误, 具体原因参考下面的连接

https://www.cnblogs.com/baka-sky/p/8354641.html

 

将int 换成Integer或集合 也会是这样吗? 你们自己探索吧! 哈哈! 加油!!

posted @ 2021-11-13 11:23  千严-Jonty  阅读(28)  评论(0编辑  收藏  举报