有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中lambda类的类名是什么意思?

lambda表达式的类名如下所示:

com.company.ParentClass$$Lambda$1/1096979270

在此示例中:

  • com.company.ParentClass是包含类
  • Lambda$1是实现代码的包含类中的静态合成方法
  • 1096979270一个神秘的数字

这个数字有什么意义吗?在每个程序运行时,它都是相同的值。听起来像是在编译时生成的。但重新编译也不会改变它


共 (1) 个答案

  1. # 1 楼答案

    Lambda类名有点不可预测

    约定:Lambda name是包的名称,后跟封闭类,后跟$$Lambda$,后跟一个数字,后跟一个斜杠,后跟另一个数字

    示例com.company.ParentClass$$Lambda$x/yyyyyy

    这里

    1. x是每个类的序列号
    2. yyyyy是Lambda的哈希代码