私の質問は、 HowよりもWhyタイプです。
Java 7では次のように動作することを私は知っています:
try (
FileInputStream in = new FileInputStream(source);
FileOutputStream out = new FileOutputStream(target);
) {
.....................
} catch (......) {
...............
}
そして、次の構文エラーが発生します。
FileInputStream in;
FileOutputStream out;
try (
in = new FileInputStream(source);
out = new FileOutputStream(target);
) {
.....................
} catch (......) {
...............
}
Closable
/Autoclosable
参照がブロックに対してローカルであることがなぜそれほど重要なのでしょうか? 私たちがそれを所有していなければ、閉鎖するのは危険だというのはtry
単なる論理ですか?