Module  java.base
软件包  java.lang

Interface AutoCloseable

    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      void close​()
      关闭此资源,放弃任何基础资源。
    • 方法详细信息

      • close

        void close​()
            throws 异常
        关闭此资源,放弃任何基础资源。 这个方法是在由try -with-resources语句管理的对象上自动调用的。

        虽然这个接口方法被声明为抛出异常强烈建议实现者声明close方法的具体实现来抛出更多的特定异常,或者如果关闭操作不能失败,则完全不抛出任何异常。

        关闭操作可能失败的情况需要执行人员的注意。 强烈建议放弃基础资源,并将资源内部标记为封闭资源,然后再投出异常。 close方法不太可能被多次调用,因此可以确保资源及时释放。 此外,它减少了当资源包裹或被另一资源包装时可能出现的问题。

        此接口的实施者也强烈建议没有close方法抛出InterruptedException 此异常与线程的中断状态相互作用,如果InterruptedExceptionsuppressed,则可能会发生运行时行为不当。 更一般来说,如果这将导致异常被抑制的问题,那么AutoCloseable.close方法不应该抛出异常。

        请注意,与close的方法Closeable ,这close 不需要方法为幂等。 换句话说, close调用这个close方法可能会有一些可见的副作用,不像Closeable.close ,如果多次调用,则不需要任何效果。 然而,强烈建议这个接口的实现者使他们的close方法是幂等的。

        异常
        异常 - 如果此资源无法关闭