首页 > 解决方案 > 有没有办法将 LambdaExpression 转换为字符串

问题描述

我想将 LambdaExpression 之类的转换为如下所示pos -> pos.x < 5 && pos.y < 5的字符串:"pos.x < 5 && pos.y < 5"

这在Java中可能吗?

在 C# 中,我使用类似这样的东西

标签: javalambda

解决方案


不,这是不可能的。

Java 被编译成一组字节码指令。所有 Java 源代码的确切形式,包括 lambda 的形式,在编译时都会丢失。这是一个单向过程;某些细节被不可挽回地丢弃(空白是一个例子,但还有其他不那么琐碎的细节),因此您无法从字节码重新创建源代码。


推荐阅读