P45*_*ent 11 java try-with-resources
考虑以下try-with-resources块:
try (Foo foo = getAFoo()) {
}
Run Code Online (Sandbox Code Playgroud)
对于某些Foo实现的类java.lang.AutoCloseable.
如果getAFoo()要返回null,那么是否会在结束括号上抛出空指针异常(由于运行时试图调用close)?
Jon*_*Lam 12
根据这个Oracle博客:
经过充分考虑后,JSR 334专家组已决定对null资源上的try-with-resources语句的语义应更改如下:编译器生成的关闭资源的调用仅在资源为非null时才会发生.
这意味着您可以关闭(带有资源)块null中的任何资源try而不会抛出错误(当程序在try结束时自动尝试关闭资源时也是如此).
| 归档时间: |
|
| 查看次数: |
1387 次 |
| 最近记录: |