草庐IT

Closures

全部标签

java - Scala 闭包和 Java 8 闭包之间的兼容性

在阅读了一些OpenJDK邮件列表条目后,似乎Oracle开发人员目前正在进一步从闭包提案中删除一些内容,因为Java语言中早期的设计错误使Java闭包的引入变得复杂。考虑到Scala闭包比为Java8计划的闭包强大得多,我想知道是否可以e.G。调用一个从Scala获取闭包的Java方法,在Java中定义一个闭包并将其提供给Scala函数等?那么Java闭包会像Scala对应的字节码一样表示还是以不同的方式表示?是否有可能缩小Java/Scala闭包之间的功能差距? 最佳答案 我认为这比假设这里有两组利益相关者要复杂得多。Proje

java - Scala 闭包和 Java 8 闭包之间的兼容性

在阅读了一些OpenJDK邮件列表条目后,似乎Oracle开发人员目前正在进一步从闭包提案中删除一些内容,因为Java语言中早期的设计错误使Java闭包的引入变得复杂。考虑到Scala闭包比为Java8计划的闭包强大得多,我想知道是否可以e.G。调用一个从Scala获取闭包的Java方法,在Java中定义一个闭包并将其提供给Scala函数等?那么Java闭包会像Scala对应的字节码一样表示还是以不同的方式表示?是否有可能缩小Java/Scala闭包之间的功能差距? 最佳答案 我认为这比假设这里有两组利益相关者要复杂得多。Proje

java - Java中的闭包-捕获的值-为什么会出现这种意外结果?

我想我在JavaScript中遇到过这种经典情况。通常程序员希望下面的代码打印“Peter”、“Paul”、“Mary”。但事实并非如此。谁能准确解释为什么它在Java中以这种方式工作?这段Java8代码编译成功并打印3次“Mary”。我想这是一个如何深入实现的问题但是......这不是表示错误的底层实现吗?importjava.util.List;importjava.util.ArrayList;publicclassTest008{publicstaticvoidmain(String[]args){String[]names={"Peter","Paul","Mary"};Li

java - Java中的闭包-捕获的值-为什么会出现这种意外结果?

我想我在JavaScript中遇到过这种经典情况。通常程序员希望下面的代码打印“Peter”、“Paul”、“Mary”。但事实并非如此。谁能准确解释为什么它在Java中以这种方式工作?这段Java8代码编译成功并打印3次“Mary”。我想这是一个如何深入实现的问题但是......这不是表示错误的底层实现吗?importjava.util.List;importjava.util.ArrayList;publicclassTest008{publicstaticvoidmain(String[]args){String[]names={"Peter","Paul","Mary"};Li

java - 有没有类似 LINQ for Java 的东西?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。开始用C#学习LINQ。尤其是LINQtoObjects和LINQtoXML。我真的很喜欢LINQ的强大功能。我了解到有一个东西叫JLINQ一个JavaScript实现。此外(正如Catbert发布的)Scala将有LINQ你知道LINQ或类似的东西是否会成为Java7的一部分吗?更新:2008年的有趣帖子-LINQforJavatool

java - 有没有类似 LINQ for Java 的东西?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭9年前。开始用C#学习LINQ。尤其是LINQtoObjects和LINQtoXML。我真的很喜欢LINQ的强大功能。我了解到有一个东西叫JLINQ一个JavaScript实现。此外(正如Catbert发布的)Scala将有LINQ你知道LINQ或类似的东西是否会成为Java7的一部分吗?更新:2008年的有趣帖子-LINQforJavatool

java - 如何使用 Java 8 流映射到多个元素?

我有这样的课:classMultiDataPoint{privateDateTimetimestamp;privateMapkeyToData;}我想为每个MultiDataPoint生成,classDataSet{publicStringkey;ListdataPoints;}classDataPoint{DateTimetimeStamp;Numberdata;}当然,一个“键”在多个MultiDataPoints中可以是相同的。所以给出List,如何使用Java8流转换为List?这就是我目前在没有流的情况下进行转换的方式:CollectionconvertMultiDataPo

java - 如何使用 Java 8 流映射到多个元素?

我有这样的课:classMultiDataPoint{privateDateTimetimestamp;privateMapkeyToData;}我想为每个MultiDataPoint生成,classDataSet{publicStringkey;ListdataPoints;}classDataPoint{DateTimetimeStamp;Numberdata;}当然,一个“键”在多个MultiDataPoints中可以是相同的。所以给出List,如何使用Java8流转换为List?这就是我目前在没有流的情况下进行转换的方式:CollectionconvertMultiDataPo

java - Java 需要闭包吗?

我最近阅读了很多关于下一个Java版本可能支持closures的信息。.我觉得我对什么是闭包有一个非常牢固的把握,但是我想不出一个可靠的例子来说明它们如何使面向对象的语言“更好”。谁能给我一个需要(甚至首选)闭包的特定用例? 最佳答案 作为一名Lisp程序员,我希望Java社区能够理解以下区别:函数作为对象与闭包。a)函数可以命名或匿名。但它们也可以是它们自己的对象。这允许函数作为参数传递、从函数返回或存储在数据结构中。这意味着函数是编程语言中的第一类对象。匿名函数并没有给语言增加太多,它们只是让你可以用更短的方式编写函数。b)闭包

java - Java 需要闭包吗?

我最近阅读了很多关于下一个Java版本可能支持closures的信息。.我觉得我对什么是闭包有一个非常牢固的把握,但是我想不出一个可靠的例子来说明它们如何使面向对象的语言“更好”。谁能给我一个需要(甚至首选)闭包的特定用例? 最佳答案 作为一名Lisp程序员,我希望Java社区能够理解以下区别:函数作为对象与闭包。a)函数可以命名或匿名。但它们也可以是它们自己的对象。这允许函数作为参数传递、从函数返回或存储在数据结构中。这意味着函数是编程语言中的第一类对象。匿名函数并没有给语言增加太多,它们只是让你可以用更短的方式编写函数。b)闭包