以下两个选项之间是否存在语义差异?在自动资源管理方面,其中任何一个都比另一个更安全吗?
选项1:
try ( ObjectInputStream in = new ObjectInputStream(new
FileInputStream("fooFile")) ) {
...
}
选项2:
try (FileInputStream fin = new FileInputStream("fooFile");
ObjectInputStream in = new ObjectInputStream(fin)) {
...
}
答案 0 :(得分:1)
见这里:http://www.stackoverflow.com/a/21348893/1419315
基本上,有一个变量,即FileInputStream.close ()
的构造失败时,ObjectInputStream
将不会被调用。