Gente, eu tô com uma duvida simples…Eu tenho um TreeMap que contem elementos de uma classe que eu criei chamada BottomFrame. Eu preciso criar um método que resgate cada um dos elementos do meu TreeMap e para cada um desses elementos, eu quero chamar um metodo que pertence a classe BottomFrame. Acredito que eu deva resgatar cada uma das posições e fazer um cast pra BottomFrame, mas eu não sei como… Alguém pode me ajudar?
Não é preciso usar cast. Generics servem, em Java, para evitar casts desnecessários.
privateTreeMap<String,BottomFrame>selecionados=newTreeMap<String,BottomFrame>();publicvoidprintTreeMap2(){for(Map.Entry<String,BottomFrame>entry:selecionados.entrySet()){Stringnome=entry.getKey();// por exemploBottomFrameframe=entry.getValue();// por exemplo}}
oitathi
Eu fiz isso, mas qdo eu executo, dah erro de ponteiro nulo…
publicvoidorganizaCascata(){contBottom=0;for(Map.Entry<String,BottomFrame>entry:selecionados.entrySet()){BottomFrameframe=entry.getValue();frame.dispose();}//end for}//end metodo
E
entanglement
Provavelmente o ponteiro nulo deve ocorrer na linha 2 deste código:
Se isso ocorreu, provavelmente você fez alguma coisa errada ANTES, na hora de inserir os BottomFrames na sua variável selecionados. OK?
oitathi
Não, a parte de inserir ele insere direitinho
E
entanglement
Eu sei que ele insere direitinho. Não sei se você está inserindo o valor correto ou então null.
oitathi
Não entendi qual a sua pergunta…
:roll:
E
entanglement
Vou lhe explicar melhor. Em um Map, você usa o método “put” para inserir um par “chave”, “valor”.
Acontece que pelo sintoma, você insere corretamente a chave, mas está usando o valor como “null”.
Por que? Eu não sei - você é que tem de debugar seu programa para ver por que é que está usando null e não um valor qualquer mas correto.
Então, na hora de tentar pegar o valor (dada a chave correspondente), você está pegando o valor null.