2013-03-25 2 views
1

я пытался сохранить ByteArray в LinkedHashMapКак хранить bytearray как значение в hashmaps?

static Map<Long, byte[]> lhm2 = new LinkedHashMap<Long, byte[]>(1000); 

Но

lhm2.get(1) 

бросят NullPointerException. lhm2 содержит ключ 1, и я проверил, не имеет ли значение

if(lhm2.get(1) != null){ 
    System.out.println("not null"); 
} 

Любые предложения?

Заранее благодарен!

Chris

+0

вы должны использовать 'contansKey (keyName)', чтобы проверить, существует ли ключ или нет – rajesh

+0

Когда вы получаете NPE? – Rob

+4

Пожалуйста, покажите короткую, но * полную * программу, демонстрирующую вашу проблему. Я сильно подозреваю, что это не так, как вы думаете. Этот код будет работать только в том случае, если 'lhm2' имеет значение NULL. –

ответ

1

ключ должен быть длинным, так что лучше сделать это

lhm2.get(1L) 

а не делать, как

lhm2.get(1) 
+1

спасибо очень много! это исправило мою проблему! Вау! –

+0

Что делать, если я хочу поместить его в цикл? это простой актер? как lhm2.get ((long) i)? –

+0

проверить эту ссылку http://stackoverflow.com/questions/1066589/java-iterate-through-hashmap, чтобы перебирать вашу карту – Code2Interface

0

Вы должны сделать:

if(lhm2.contains(1){ 
    lhm2.get(1) 
} 
+0

да, в финальной программе это будет использовано! –

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