gpt4 book ai didi

java - 强制尝试使用资源 Java 7

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:57 25 4
gpt4 key购买 nike

我有一个实现 AutoCloseable 的类,旨在与 Java 7 的新 try-with-resources 构造一起使用。但是,我想不出一种方法来保证我类的用户使用 try-with-resources。如果这不发生,那么我的类(class)将无法自行关闭,并且会发生不好的事情。有什么办法——语言构造或其他方式——来强制执行吗?甚至能够检测我是否在 try-with-resources block 中,这样我就可以在不在时抛出异常(尽管编译时构造更可取)。

谢谢!

最佳答案

不幸的是,没有办法保护自己免受用户愚蠢行为的影响。

您可以实现 finalize调用 close 的方法;通过这种方式,您可以确保至少在对象被垃圾回收时关闭资源,即使您不知道何时(或是否)发生这种情况。

如果您可以限制您的项目的使用方式,您也许可以使用面向方面的编程来强制执行一些策略,但这样您就不再真正使用 Java。

关于java - 强制尝试使用资源 Java 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com