Destruindo um valor de um HashMap

seguinte… sei que pra destruir um objeto é necessario setar ele com null dai a VM quando quiser libera memoria e bla bla bla…

seguinte… tenho um HashMap, dentro dele tenho alguns objetos (dããã…) em certo momento preciso DESTRUIR esse objeto e não so remover ele do HashMap… tentei

//hash é um HashMap

// naum compila
hash.get(key) = null;

fiz casting e tentei… msm meuda

//tentei assim
(Canal)hash.get(key) = null;

//assim tbm
((Canal)hash.get(key)) = null;

//tbm não compilaram

tentei tbm


Canal c = (Canal)hash.get(key);
c = null;

//compila  maisnum funciona..
//aki ta na cara.. pq ele gera um outro ponteiro c.. (mais foi so pra tentar msm)

e agora josé? ki magica eu faço?

Fala Celino!!

Já tentou o famoso truque:


meuHashMap.remove(key);

Abraços![/code]

Fala Celino!!

Já tentou o famoso truque:


meuHashMap.remove(key);

Abraços!

Outra possibilidade é que um “remove automático” pode ser ativado, se for usado um WeakHashMap.

A pegadinha é a seguinte: no momento em que não houver nenhuma referência forte a uma chave do mapa, esta chave será tragada pelo GC. Se o valor correspondente também não tiver nenhuma referência apontando para ele, este ficará também à mercê do GC.

[quote=“rr_castaneda”]Fala Celino!!

Já tentou o famoso truque:


meuHashMap.remove(key);

Abraços![/quote]

heheheh… tente pra ver oq acontece… vc so perde essa referencia ao objeto… mais ele continua existindo. É o seguinte… não so esse hashmap tem referencia a esse objeto… e mesmo se nimguem mais tiver referencia e esse objeto tiver uma thread o fdp num morre… mais ja resolvi por outro meio… vlw galerahh