找不到Java HashMap.Entry类

时间:2012-02-25 16:13:09

标签: java hashmap classnotfoundexception

我正在处理问题。代码抛出“java.lang.ClassNotFoundException:java.util.HashMap.Entry”

Class.forName("java.util.HashMap.Entry");

有人知道如何创建存储HashMap.Entry的类?

3 个答案:

答案 0 :(得分:4)

尝试:

Class.forName("java.util.HashMap$Entry");

(注意美元符号。)

这适合我。

答案 1 :(得分:4)

HashMap.Entry不公开,但确实存在。您应该能够获取它(如java.util.HashMap$Entry),但由于它不是公共类型,您可能不应该使用它。

Map.Entry是公开的,但它没有该名称 - 由于是一个嵌套类,它是java.util.Map$Entry

如果您对此进行硬编码,为什么不使用类文字呢?

import java.util.*;

public class Test
{
    public static void main(String[] args)
    {
        Class<?> clazz = Map.Entry.class;
        System.out.println(clazz.getName()); // java.util.Map$Entry
    }
}

答案 2 :(得分:3)

HashMap.Entry似乎不再是Java 8的内部类