2009-09-25 206 views
20

是否有相當於.net的表達式樹,其中JVM的LINQ值很低?我想在Scala中實現一些類似於LINQ的代碼結構,我想知道是否還必須推出我自己的表達式樹庫。Java表達式樹

更新: 我對linq等效本身並不感興趣。 .net擁有大量表達式樹工具,可以在運行時動態編譯代碼,從而可以從代碼中調用代碼。我想要承擔的項目與數據庫沒有任何關係。表達式樹提供了一種簡單的方式來描述對數據進行操作的代碼。

如果沒有庫,我認爲其他選擇是創建一個發出字節碼的選項。

+1

對於JAVA嘗試Quare(codehaus)。但是,只要JAVA不支持高階函數(函數作爲第一類成員),我不相信這些「庫」會感受到真正的LINQ。 – 2009-09-25 21:09:57

+0

史蒂夫 - 你有沒有遇到過這種情況? – MalcomTucker 2010-07-06 17:18:19

+1

不,我們剛回到窗戶並使用窗戶。對於一些我們在UNIX上使用LLVM和C++的東西。然而,我們正在隔離java的東西,並使用.NET來處理需要動態代碼的所有東西。 – 2010-07-06 17:51:57

回答

1

我知道的最接近的東西是Julian Hyde的linq4jOptiq庫。他們有一個表達式樹模型,支持類似LINQ的編程模型(受Java語法支配),以抵抗多種類型的數據源。