How to correctly determine that an object is a lambda?

后端 未结 3 1280
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-14 14:38

I see that the class of a lambda is isSynthetic() && !isLocalOrAnonymousClass(), but I presume that the same may be true for proxy classes.

Of c

3条回答
  •  无人及你
    2020-12-14 15:01

    There is no official way to do this, by design. Lambdas are part of the language; and are integrated into the type system through functional interfaces. There should be no need to distinguish a Runnable that began life as a lambda, a named class, or an inner class -- they're all Runnables. If you think you have to "deal with lambda" by taking apart the class file, you're almost certainly doing something wrong!

提交回复
热议问题