它是在Java 7中添加的。它称为try-with- resources语句。
/编辑
最好也把它扔在这里。Lock
如果使用如下包装器类,则可以使用try-with-resources语句来管理:
public class CloseableLock implements Closeable {
private final Lock lock;
private CloseableLock(Lock l) {
lock = l;
}
public void close() {
lock.unlock();
}
public static CloseableLock lock(Lock l) {
l.lock();
return new CloseableLock(l);
}
}
try(CloseableLock l = CloseableLock.lock(lock)) { // acquire the lock
// do something
} // release the lock
但是,由于必须为每个资源声明一个变量,因此其优点值得商de。