为什么在Java 1.7中添加了java.lang.AutoCloseable接口

时间:2014-03-21 05:30:55

标签: java interface

java.lang.AutoCloseable接口与java.io.Closeable接口相同。那么需要在Java 1.7中添加新的java.lang.AutoCloseable接口。

1 个答案:

答案 0 :(得分:1)

  

在Java SE 7及更高版本中,实现了接口   java.lang.AutoCloseable。因为BufferedReader实例是   在try-with-resource语句中声明,它将被关闭   无论try语句是正常还是突然完成   (由于BufferedReader.readLine方法抛出一个结果   IOException的)。

它用于自动关闭资源,无论try语句在Java 7中是正常还是突然完成,请查看here以获取更多详细信息。

而且,

  

Closeable接口扩展了AutoCloseable接口。关闭   Closeable接口的方法抛出类型的异常   IOException同时是AutoCloseable接口的close方法   抛出Exception类型的异常。因此,子类   AutoCloseable接口可以覆盖close方法的这种行为   抛出专门的异常,例如IOException,或者没有异常   一点都不。