gpt4 book ai didi

java - 将 HashMap Key Iterator 转换为 AbstractIterator

转载 作者:行者123 更新时间:2023-11-30 07:07:32 25 4
gpt4 key购买 nike

我有以下代码:

class SomeIterator<T> extends AbstractIterator<T> { ... }

AbstractIterator Guava 类提供了 {@code Iterator} 接口(interface)的骨架实现。所以它扩展了UnmodifiableIterator<E>实现Iterator<E>

但是当我尝试转换这样的东西时:

Set<Object> hashSet = new HashSet<Object>();
SomeIterator iterator = (SomeIterator) hashSet.iterator();

我有一个异常(exception):

ClassCastException: java.util.HashMap$KeyIterator cannot be cast to com.google.common.collect.AbstractIterator

我的代码有什么问题?

感谢您的帮助!

最佳答案

HashSet 的迭代器实际上是这样的类型:

HashMap$KeyIterator

延伸

HashMap$HashIterator

实现

Iterator

如您所见,guava AbstractIterator 显然不在该继承链中。因此你不能转换到它。

关于java - 将 HashMap Key Iterator 转换为 AbstractIterator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24863281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com