Art*_*lan 44 java lambda java-8
我看到lambda的类是isSynthetic() && !isLocalOrAnonymousClass(),但我认为代理类可能也是如此.
当然,我可以检查getDeclaredMethods().length == 1并申请regexp课程名称.
但是我想知道是否有一个更优雅和更健壮的选项来查明给定对象是否是lambda.
Bri*_*etz 56
按设计,没有正式的方法可以做到这一点.Lambdas是语言的一部分; 并通过功能接口集成到类型系统中.应该没有必要将Runnable开始生活区分为lambda,命名类或内部类 - 它们都是Runnables.如果你认为你必须通过拆分类文件来"处理lambda",你几乎肯定会做错事!