2012-02-25 3 views
2

Я имею дело с проблемой. Код бросает «java.lang.ClassNotFoundException: java.util.HashMap.Entry»Java HashMap.Entry класс не найден

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

Любой знает, как я могу создать класс для хранения HashMap.Entry?

ответ

4

Try:

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 больше

 Смежные вопросы

  • Нет связанных вопросов^_^