このインタフェースを実装しているクラスの場合、JDK6以前のようにリソース解放処理をfainally句で行う必要がなくなります。
また、ThrowableにaddSuppressedメソッドが追加されていてtry句で発生した例外に対して、
リソース解消処理(JDK6までの、finally句でのリソース解放処理)で発生した例外を追加してくれています。
コードサンプル
public class Test {
public static void main(String[] args) throws FileNotFoundException {
// try句で、リソースを解放する必要のあるオブジェクトを生成する。
// (対象のオブジェクトは、java.lang.AutoCloseableの実装クラスのみ)
try (FileInputStream fis = new FileInputStream("C:\\work\\java\\idea_project\\src\\Test.java")) {
fis.available();
} catch (IOException e) {
throw new RuntimeException("main failed.", e);
}
}
}