Java表达式树

25

是否有一个类似于 .net 的 Expression Trees,作为 JVM 下面的 LINQ,我想在 Scala 中实现一些类似于 LINQ 的代码结构,我想知道是否需要自己编写表达式树库。

更新: 我对 Linq 等价物本身不感兴趣。.net 有大量的表达式树工具,使得在运行时轻松动态编译代码,并且可以从您的代码中调用它。我要进行的项目与数据库没有关系。表达式树提供了一种描述操作数据的代码的简单方法。

如果没有库,我认为我的另一个选择是创建一个发出字节码的库。


1
对于JAVA,可以尝试使用Quare(codehaus)。但是,只要JAVA不支持高阶函数(将函数作为一等公民),我就不相信这些“库”能够真正感受到LINQ的魅力。 - dz.
Steve - 你最终解决了这个问题吗? - MalcomTucker
2
不,我们刚刚回到了Windows并使用了Windows。对于一些东西,我们在Unix上使用C++和LLVM。然而,我们正在隔离Java的内容,并且对于所有需要动态代码生成的内容都使用.NET。 - Steve Severance
那个领域里有Java注释处理工具...但那是为了代码生成而设计的,而不是修改。http://docs.oracle.com/javase/7/docs/technotes/guides/apt/ - Aleksandr Panzin
https://dev59.com/ll8e5IYBdhLWcg3wLYHt - Konstantin Triger
2个回答

4

1
我所知道的最接近的是Julian Hyde的linq4jOptiq库。它们有一个表达式树模型,支持针对许多类型的数据源进行类似LINQ的编程模型(遵循Java语法)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接