Autocloseable
应始终与try-with-resources
一起使用。至少Intellij检查表明它。 所以,如果我有一个产生Foo
实现Autocloseable
我应该做的代码:Java8中的“Autocloseable”的数组或集合
try (final Foo foo = getFoo()) {
foo.doSomething();
}
但如果我有函数,返回Foo[]
?或接受Foo[]
(或Collection<Foo>
)作为参数的函数?如何使用try-with-resources
? 着眼于以下功能:
Foo[] getFoos();
doAll(Foo... foo);
我想要做的事行doAll(getFoos())
我怎么能这样做?
我无法找到一种方法,使与增强的for循环这项工作,但如果真有人看到的方式,请更新我的编辑答案。 –
你的意思是for(Foo foo:getFoos())try(Foo toClose = foo){/ * code * /}'?这应该工作。 – Holger