Follwing моего Java класса TestEntry.javaTreeMap прибудет бросает NullPointerException
private void initializemapTest()
{
eventMap = new TreeMap<String,String>();
//Put some value into eventMap
mapTest = new TreeMap<String, String>(new Comparator<String>()
{
public int compare(String key1, String key2)
{
if(key1 == null)
{
if(key2 == null)
{
return 0;
}
else
{
return 1;
}
}
else
{
if(key2 == null)
{
return -1;
}
else
{
return key1.compareTo(key2);
}
}
}
});
for(String s : eventMap.keySet())
{
mapTest.put(eventMap.get(s), s); //Error at this line
}
}
По моим сведениям eventMap оленьей кожи позволяет нулевые значения, следовательно, набор ключей из eventMap не имеет нулевые значений, если значение любого ключа в eventMap равно нулю, в то время как я пытаюсь поставить его в mapTest, не shoukd бросать любые исключения нулевого указателя, поскольку его соответствующий компаратор позволяет нулевые значения
Но почему я получаю это исключение
java.lang.NullPointerException
at java.util.TreeMap.cmp(TreeMap.java:1911)
at java.util.TreeMap.get(TreeMap.java:1835)
at kidiho.sa.client.reports.ReportEntry.initializemapTest(TestEntry.java:22)
Ваш опубликованный код несколько запутан. Где карта инициализирована? Где вы называете 'initializeEntry()'? – Thomas
вы можете показать нам результат '\t \t System.out.println (eventPropertyMap.keySet()); 'выше для цикла. –
Какую версию Java вы используете? Я не нахожу 'cmp (...)' метод в TreeMap в трех разных версиях. – Thomas