我想獲得功能界面的實例,例如來自字符串的謂詞。例如,用戶在UI的文本字段中鍵入lambda表達式以過濾某些數字列表 list.stream()。filter(「lambda here」)如何在JDK8中動態編譯/加載lambda表達式?
4
A
回答
5
有沒有一種簡單的方法可以做到這一點。 Java並沒有轉向一些動態語言,我害怕。
您可以使用自JDK6以來提供的Java Compiler API將代碼片段編譯爲實現Predicate
的類並實時加載它,但它不會很漂亮。
+1
沒錯。 「不會很漂亮」的一種方式是,lambda表達式實際上不能孤立編譯;它必須具有編譯器可以從中進行類型推斷的目標類型。例如,要求編譯器編譯lambda表達式'x - > false'將不起作用,因爲編譯器無法確定x的類型。它可能會讓UI向一個指定類型參數的函數接口隱式地添加一個轉換,例如, '(謂詞
相關問題
- 1. 添加lambda表達式試圖編譯
- 2. 如何處理lambda表達式在拉姆達預編譯
- 3. 動態添加到lambda表達式
- 4. 動態LINQ和動態Lambda表達式?
- 5. 緩存編譯的lambda表達式
- 6. Lambda表達式:編譯器行爲
- 7. Lambda表達式不會編譯
- 8. 的java lambda表達式沒有編譯
- 9. 如何編寫LINQ在lambda表達式
- 10. 如何在C#中創建此表達式樹(動態lambda)?
- 11. 在C++中翻譯lambda表達式c#
- 12. 。凡Lambda表達式加載整個表
- 13. 如何編寫VB.Net Lambda表達式
- 14. 在lambda表達式中編譯時檢查屬性名稱
- 15. 編譯Lambda表達式時參數不在範圍中
- 16. 動態lambda選擇表達式
- 17. 動態Lambda表達式用於過濾
- 18. 動態按lambda表達式排序
- 19. 製作lambda表達式動態
- 20. 動態過濾linq lambda表達式
- 21. 生成動態選擇lambda表達式
- 22. 動態Lambda表達式調用
- 23. 動態構建Lambda表達式
- 24. 動態功能/ lambda表達式
- 25. 動態lambda表達式where子句
- 26. 動態構建Linq Lambda表達式
- 27. 動態對象的Lambda表達式
- 28. 如何動態生成C#中的Lambda表達式
- 29. 如何從字符串中製作動態lambda表達式?
- 30. 如何編寫sql表達式的lambda表達式?
也許這些答案給了一些靈感:http://stackoverflow.com/questions/22207447/how-to-convert-a-string-to-a-lambda-expression – rmuller