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 内联迭代器方法返回。
Map 的键方法 keys ():Iterator<K>
在 Java 中转换为 public java.lang.Object keys()
。有没有办法生成实际的 Iterator 类型?
谢谢!
不改变生成器代码就不行,因为Iterator<T>
是一个匿名结构类型,在运行时用Object
表示。查看实际实现,它也是作为匿名对象实现的,因此 Object
是 运行 时最好的。然而,它可以被修改为一些具体的 class ,它将由 StringMap/IntMap/ObjectMap 内联迭代器方法返回。