3

私の質問は、 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単なる論理ですか?

4

1 に答える 1