簡體   English   中英

Java 中的 lambda class 中的類名是什么意思?

[英]What is the meaning of the classname from a lambda class in Java?

lambda 表達式的類名如下所示:

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

在此示例中:

  • com.company.ParentClass是包含 class。
  • Lambda$1是 static 合成方法中包含實現代碼的 class
  • 1096979270一個神秘的號碼

這個數字有什么意義嗎? 在每個程序運行時,它都是相同的值。 聽起來它是在編譯時構建的。 但是重新編譯也不會改變它。

Lambda class 名稱有點不可預測。

約定:Lambda 名稱是 package 的名稱,后接 class,后接 $$Lambda$,后接數字,后接斜杠,再接另一個數字。

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

這里,

  1. x 是每個 class 的序列號。
  2. yyyyyy 是 Lambda 的哈希碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM