如何强制转换java.util.HashMap$节点对象?

如何强制转换java.util.HashMap$节点对象?,java,Java,我使用一个库方法,它返回一个java.util.HashMap$Node对象。 我尝试将其转换为Map、HashMap或Iterator,但都失败了。 我可以将类型为java.util.HashMap$Node的对象强制转换为哪种数据类型?HashMap.Node实现Map.Entry,因此您可以强制转换为该类型。您只能将对象强制转换为其基类或接口之一。您无法将java.util.HashMap$Node强制转换到您尝试过的任何类或接口,因为它没有扩展任何类或接口 我发现非常奇怪的是,您使用的库

我使用一个库方法,它返回一个
java.util.HashMap$Node
对象。
我尝试将其转换为
Map
HashMap
Iterator
,但都失败了。

我可以将类型为
java.util.HashMap$Node
的对象强制转换为哪种数据类型?

HashMap.Node
实现
Map.Entry
,因此您可以强制转换为该类型。

您只能将对象强制转换为其基类或接口之一。您无法将
java.util.HashMap$Node
强制转换到您尝试过的任何类或接口,因为它没有扩展任何类或接口


我发现非常奇怪的是,您使用的库返回这种类型的对象,因为它是
HashMap
的内部实现细节。如果您可以访问源代码,我建议您要么修改库,要么找到另一个库来完成所需的任务。

您不能将其转换为其他任何类,因为它不是这些类中的任何一个。它是一个内部
节点
类型,恰好位于
HashMap
内部。我很惊讶你居然能得到它,好像是XY的问题。你为什么要这样做?你是如何获得对内部类型对象的访问权的?你到底想做什么?你使用的图书馆的目的是什么?您希望如何处理
节点
对象?铸造是错误的解决方案。如果您解释了要完成的任务,那么我们可以帮助您找到正确的解决方案。@Clashsoft您可以通过调试器查看该类。库返回
HashMap.Node
实例的一个合理原因是该方法实际返回
Object
并且不使用泛型。由于它是一个内部类,因此在未来的Java版本中可能会发生变化。依赖它不是一个好主意。@VGR这取决于,我正在考虑的用例是,有问题的库返回普通的
对象
,而不使用泛型(正如
Map.get
can),因此
Map.Entry
可能是一个有效的返回值。