This is not a generated inner class, but rather an attribute InnerClassesspecified in the JVMS §4.7.6 . The specification requires that this attribute list each class (mentioned in the constant pool) that is not a member of the package.
, javac InnerClasses , . .
public class Test {
public static void main(String[] args) {
for (Map.Entry e : Collections.emptyMap().entrySet()) {
}
}
}
- Map.Entry Map:
InnerClasses:
public static #31= #7 of #23;
JDK lambdas invokedynamic. , invokedynamic 4 :
Java Runtime , - MethodHandles.Lookup, javac InnerClasses.