这个问题是这个问题的重复,但是如果可以关闭,它们都没有回答。
他们只建议其他选择--使用try-with或者实际上有一个类似于Scanner scanner=new Scanner(System.in)的引用。
这让我觉得没有参考的扫描仪物体不能被关闭但是..。
问:这些对象不应该成为合格的垃圾收集的,从而最终关闭吗?
(注:我确实意识到,依赖于GC并不是一个好主意)
发布于 2020-12-15 23:47:30
看看OpenJDK源,Scanner并不覆盖finalize方法。这意味着在对象最终被收集时不会执行特殊的代码,您需要显式地关闭它。
编辑:
这可能是有意的,因为Scanner的一个常用用法是在System.in上使用它,而您不应该关闭它。
https://stackoverflow.com/questions/65315277
复制相似问题