为什么尝试资源不能与字段变量一起使用?
2022-09-01 13:12:38
这是我关于SO的第一个问题,我很困惑还没有类似的问题!
所以问题是:
为什么尝试资源不能与字段变量一起使用?
或者换句话说:为什么我总是需要一个局部变量?
下面是一些示例代码:
public class FileWriteTest {
public FileWriter file;
public void workingDemo() {
try(FileWriter file = new FileWriter(new File("someFilePath")) {
// do something
} catch (IOException e) {
e.printStackTrace();
}
}
public void notWorkingDemo() {
file = null;
try(file = new FileWriter(new File("someFilePath")) {
// do something
} catch (IOException e) {
e.printStackTrace();
}
}
}
谁能解释一下为什么会有这个惯例?