Java 18+ 是否已弃用 try-finally ?

k31*_*159 3 java try-finally try-with-resources

JEP 421在即将发布的 Java 18 中发布,不赞成终结。我理解这意味着该finalize()方法已被弃用。然而,它还提到了该try/finally块并提到了 try-with-resources 作为替代方案,所以我很困惑 - 这是说 try/finally 将被弃用吗?我们是否应该开始更改遗留代码以用 try-with-resources 替换 try/finally ?

我以为这个 JEP 只是关于finalize()方法,但是互联网上的一些页面(例如https://metebalci.com/blog/what-is-new-in-java-18/)说 try/finally 是被弃用,这听起来有点令人担忧。

Dav*_*rad 6

如果可以的话,您当然应该更喜欢 try-with-resources,因为它更简洁,并且避免了忘记关闭可自动关闭资源的可能性,但不会,它finally不会消失。

JEPfinally在上下文中提到了它的使用不正确的地方。除了使用 try-with-resources 构造之外,您还可以嵌套两个 try/finally 块来修复错误,正如 JEP 指出的那样:“此处的修复涉及嵌套的 try-finally 构造,并留给读者作为练习。 ”