java - 如何在JDK8中动态编译/加载lambda表达式?

标签 java lambda java-8

我想获取功能接口(interface)的实例,例如来自字符串的谓词。例如,用户在 UI 的文本字段中键入 lambda 表达式以过滤一些数字列表 list.stream().filter("lambda 这里")

最佳答案

没有直接的方法可以做到这一点。恐怕 Java 还没有变成某种动态语言。

您可以使用 Java Compiler API自 JDK6 以来就存在,将代码片段编译成实现 Predicate 的类并动态加载它,但它不会很漂亮。

关于java - 如何在JDK8中动态编译/加载lambda表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163638/

相关文章:

java - 如何获取 HashMap 中包含最新 LocalDate 的对象

java - 通用功能接口(interface)和方法引用被类型删除弄乱了

java - 在 windows 中安装和切换 java 7 和 java 8

java - 找不到类型为 : class java. util.ArrayList 的返回值的转换器(Spring Boot)

java - Android Listview 倒计时器导致奇怪的结果

lambda - 方案定义/lambda 简写

Java 8 流 - 超时?

java - 如何在 Ktor 中散列和验证密码?

java - 类文件格式的构造函数存储在哪里

java - Java lambda 可以有超过 1 个参数吗?