将类型为Node的对象强制转换为DatanodeDescriptor时,我得到了ClassCastException
。 当我在调试器中检查对象时,它是DatanodeDescriptor类型并包含有效数据。可能是什么问题呢?将对象强制转换为自己的类型时发生ClassCastException
Node n = null;
...
...
n = innerNode.getLeaf(index, null);
DatanodeDescriptor d = (DatanodeDescriptor)n;
编辑:我添加了一行检查
if (n instanceof DatanodeDescriptor)System.out.println("It is")
,并成功地打印它给了异常
你做一个'如果(N的instanceof DatanodeDescriptor)',并检查结果如何? – NINCOMPOOP 2013-05-01 17:39:07
什么是详细信息,例如'{someType}不能转换为DatanodeDescriptor'? – gparyani 2013-05-01 17:40:13
java.lang.ClassCastException:org.apache.hadoop.net.NetworkTopology $ InnerNode无法转换为org.apache.hadoop.hdfs.server.namenode.DatanodeDescriptor – 2013-05-01 17:48:10