Java中finally关键字的作用是什么?

在Java中,finally关键字的作用是确保执行 finalize 代码块,常用于释放资源。

  1. finally代码块总会被执行
    不管try块中是否有return语句,finally中的代码依然会执行。
## www.itzhimei.com 代码块
try {
  //操作
  return 1;
} catch(Exception e){
  //异常处理
} finally {
  //释放资源
}
  1. finally常用于释放资源
    finally块通常用于关闭文件、网络连接、数据库连接等资源。
## www.itzhimei.com 代码块
FileWriter writer = null;
try {
  writer = new FileWriter("file.txt");
  //操作
} catch(Exception e){
  //异常处理
} finally {
  if(writer != null){
    writer.close();
  }
}
  1. finally与return的执行顺序
    返回语句在finally执行前返回,finally中的修改不影响返回值。
## www.itzhimei.com 代码块
public int test() {
  try {
    return 1;
  } finally {
    return 2;
  }
}

//输出结果:1

总结:

  • finally能确保执行收尾语句
  • 主要用于释放资源
  • 不影响return的值

finally非常有用,可以避免资源泄露问题。