gpt4 book ai didi

java - AutoClosable 的实现是如何工作的?

转载 作者:行者123 更新时间:2023-12-01 19:42:57 24 4
gpt4 key购买 nike

我试图理解以下代码片段。我知道 AutoClosable 接口(interface)定义了 close() 方法。

  protected AutoCloseable fooAction() {
enableFooResources();
return () -> {
disableFooResources()
};
}

return () -> {} 的结构是什么意思?它如何返回一个 AutoClosable 对象。

如果有人能指出语言构造的名称,以便我可以查找,我将不胜感激。

最佳答案

() -> ... 语法称为 lambda 表达式。它们基本上是只有一个方法的匿名类的替代品(尽管它们没有编译成匿名类)。

您的代码类似于:

  protected AutoCloseable fooAction() {
enableFooResources();
return new AutoCloseable() {
@Override
public void close() throws Exception {
SurroundingClass.this.disableResources();
}
}
}

其意图可能是为调用者提供一种方法来关闭 fooAction 将要执行的任何资源。

了解有关 lambda 的更多信息 here .

关于java - AutoClosable 的实现是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54644233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com