Map 上的迭代器在 Java 中转换为对象

Iterator on Map gets converted to Object in Java

Map 的键方法 keys ():Iterator<K> 在 Java 中转换为 public java.lang.Object keys()。有没有办法生成实际的 Iterator 类型?

谢谢!

不改变生成器代码就不行,因为Iterator<T>是一个匿名结构类型,在运行时用Object表示。查看实际实现,它也是作为匿名对象实现的,因此 Object 是 运行 时最好的。然而,它可以被修改为一些具体的 class ,它将由 StringMap/IntMap/ObjectMap 内联迭代器方法返回。