2012-02-25 59 views
2

我正在处理问题。该代码抛出“抛出java.lang.ClassNotFoundException:java.util.HashMap.Entry”未找到Java HashMap.Entry类

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

任何人都知道我怎么可以创建类来存储HashMap.Entry?

回答

4

尝试:

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

(注意是美元符号。)

这对我的作品。

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 
    } 
} 
3

HashMap.Entry似乎并没有成为一个内部类的Java 8中不再