新的/奇怪的Java“try()”语法?
在 Eclipse 中的自定义格式设置选项中,在其中一个示例代码片段中,我看到了如下代码:
/**
* 'try-with-resources'
*/
class Example {
void foo() {
try (FileReader reader1 = new FileReader("file1"); FileReader reader2 = new FileReader("file2")) {
}
}
}
我从未见过这样的用法,我已经用Java编码了9年!有没有人知道你为什么要这样做?这样做的可能用例/好处是什么?try
我看到的另一段代码,我认为这是一个非常有用的速记,所以我也在这里分享它,它的作用是显而易见的:
/**
* 'multi-catch'
*/
class Example {
void foo() {
try {
} catch (IllegalArgumentException | NullPointerException | ClassCastException e) {
e.printStackTrace();
}
}
}