这个方法的对象?,java,dictionary"/>

首页 > 解决方案 > 如何创建 Map.Entry这个方法的对象?

问题描述

我正在研究一个充当 HashTable 的类,其中每个条目都是一个名为 MapNode 的自定义对象。每个地图节点都有 3 个实例变量:键、值和下一个,它将保存一个 MapNode 对象,该对象在列表中的下一个。在嵌入 MapNode() 类的 MyHashTable() 类中,我需要为迭代器创建一个方法,该方法将给定位置的下一个值作为 Map.Entry<K, V> 值返回。这是我的代码:

        //TODO: returns the next entry in the table
        @SuppressWarnings("unchecked")
        public Map.Entry<K, V> next() {
            Map.Entry<K, V> nextEntry = (Map.Entry<K, V>) current.getNext();
            return nextEntry;
        }
    }

current 是 MyHashtable() 中的一个实例变量,位于用户访问或添加的位置。我试图在不进行类型转换的情况下声明一个新的 Map.Entry<K, V> 值并得到一个错误,因为它“无法实例化类型 Map.Entry<K, V>”。这是我用来声明它的代码:

Map.Entry<K, V> nextEntry = new Map.Entry<K, V>();

我还尝试了一个参数化调用来创建一个新的调用并遇到了同样的错误。当我尝试 typecast 方法时,我要么得到一个 NullPointerException,要么会得到一个返回的空值,而这不是我所期望的。感谢您提供任何见解!

标签: javadictionary

解决方案


推荐阅读