gpt4 book ai didi

java - Java 中的闭包将如何使 API 设计取代语言设计?

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:23 25 4
gpt4 key购买 nike

我可以看到闭包的一些好处,例如它们如何在简化现有库和使 future 的设计更轻松、更高效方面占有一席之地。

但是,提案草案 (http://www.javac.info/consensus-closures-jsr.html) 中提到的关键点之一是在第 2.5 节的 e 点:

(The specification will improve the language by)

e) enabling future API design to replace language design for extending the Java platform.

我正在努力了解这是怎么回事,当然语言设计就是这样 - 语言本身的设计,并且不能被 API 取代,除非 Java 使用闭包打开各种奇怪的 API修改语言(我非常怀疑这会发生。)

任何人都可以阐明这一点,也许可以提供一个示例,说明以前需要更改语言但在添加闭包后不再需要更改语言吗?

最佳答案

API 设计和语言功能在某些方面绝对可以互换。只要看看 Java 中的同步关键字之类的东西。它是一个关键字,但如果语言足够简洁,也可以作为 API 实现。注释是另一个例子。使类中的所有方法都具有事务性的 @Stateless 注释的另一种方式也可能是语言关键字。

尤其是闭包,可以轻松地将“代码块”传递给方法,然后方法可以对其进行处理。

一个粗略的例子,可以为每个人做一个:

for_each(myFooList, #(Foo foo) { 
String something = foo.getBar() + foo.getKaz();
System.out.println(something);
});

可能不如直接由语言语法支持的 for each 循环 100% 干净,但它允许每个人轻松体验类似语言的增强功能。

关于java - Java 中的闭包将如何使 API 设计取代语言设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764539/

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