Java - 将谓词转换为字符串

Ome*_*ich 7 java string lambda predicate

我想知道是否有任何方法可以转换PredicateString.例如,将有一个功能:

public static <T> String convertPredicate(Predicate<T> objPredicate) {
    return ?...
}
Run Code Online (Sandbox Code Playgroud)

以便以下调用将返回(obj) -> obj.value== 1:

convertPredicate((obj) -> obj.value== 1) 
Run Code Online (Sandbox Code Playgroud)

Tag*_*eev 6

不,一般来说,Java不可能.有人可能会尝试分析和反编译lambda类的字节码(虽然获取这个类的字节码已经是非常重要的任务),但这样的解决方案将非常复杂和脆弱.未指定lambda的特定运行时表示,并且可能在不同的Java版本或不同的JDK供应商中进行更改.