作为 types=> T
和() => T
are both的参数Function0
,我总是天真地假设从一个到另一个的转换是无用的。然而,看起来,虽然对于 是正确的(=>T) => (() => T)
,但另一个方向(() => T) => (=> T)
导致将函数的执行包装在invokedynamic
lambda 中 - 至少就我可以读取字节码而言。
- 为什么?
- 我怎样才能让它停止?
作为 types=> T
和() => T
are both的参数Function0
,我总是天真地假设从一个到另一个的转换是无用的。然而,看起来,虽然对于 是正确的(=>T) => (() => T)
,但另一个方向(() => T) => (=> T)
导致将函数的执行包装在invokedynamic
lambda 中 - 至少就我可以读取字节码而言。