[RESOLVIDO]Trocar Caracteres de um Map

2 respostas
L

Boa tarde Galera,

Estou com um pequeno problema, e gostaria que alguém me ajudasse.
Seguinte, eu tenho um objeto com um determinado valor, e vou verificar se o um Map já criado contém o valor do objeto.

Ou seja
Obj a = new Obj();
a = cachorro;

Map<String, Obj> b = new TreeMap<String, Obj>();

key b = cachorro   ; //considerar os caracteres nulos.

Por causa desses caracteres está me dando erro já no Debug.

Gostaria de saber como faço para retirar esses espaços em branco que estão sendo encontrados pelo mapa?
Segue código:

String linha;
				linha = buscaEconcatena(p, linhaDeConteudoFonte, "END-READ");					
				String programaRead = getPalavraAposOcorrenciaDe("READ", linha);
				ProgramaEstruturaDados progEstDados = mapaEst.get(mapaVariavel.get(programaRead));

2 Respostas

InicianteJavaHenriqu

Poste todo código e o erro exibido no console.

L

O código é mais ou menos o que já postei.

public class MapeadorCobolLogico extends Analizador{
	private List<Fonte> listFonte;
	private Map<String,ProgramaEstruturaDados> mapaEst= new TreeMap<String, ProgramaEstruturaDados>();
	private Map<String, String> mapaVariavel = new HashMap<String, String>(); //declaração das variaveis
int p;
		for(p = 0; p < linhaDeConteudoFonte.size(); p ++){
			if(linhaDeConteudoFonte.elementAt(p).contains("DATA DIVISION")){
				for( ; p < linhaDeConteudoFonte.size(); p++){
					if(linhaDeConteudoFonte.elementAt(p).contains("FD")){
						String linha;
						linha = buscaEconcatena(p, linhaDeConteudoFonte, ".");
						linha = linha.replace(".", "");
						String noFisico = getPalavraAposOcorrenciaDe("FD", linha);
						noFisico = noFisico.replace(".", "");
						do{
							p++;
						}
						while(!linhaDeConteudoFonte.elementAt(p).contains("01"));
						linha = buscaEconcatena(p, linhaDeConteudoFonte, ".");
						String apelido = getPalavraAposOcorrenciaDe("01", linha);
						if(apelido.contains(".")){
							apelido = apelido.replace(".", "");
						}
						Programa prog = new Programa();
						ProgramaEstruturaDados progEstDados = new ProgramaEstruturaDados();	
						EstruturaDados estDados = new EstruturaDados();
						prog.setCoProgramaPK(getPai().getCoFontePk());
						estDados.setNoFisico(noFisico);
						progEstDados.setProgramaFK(prog);
						progEstDados.setEstruturaDadosFK(estDados);
						mapaVariavel.put(apelido, estDados.getNoFisico()); //armazeno os resultados obtidos
						mapaEst.put(noFisico, progEstDados); // atribuo os resultados a um Map Objeto 
					}
for( ; p < linhaDeConteudoFonte.size(); p++){
			if(linhaDeConteudoFonte.elementAt(p).contains("READ")){
				String linha = buscaEconcatena(p, linhaDeConteudoFonte, "END-READ");					
				String programaRead = getPalavraAposOcorrenciaDe("READ", linha);				
				ProgramaEstruturaDados progEstDados = mapaEst.get(mapaVariavel.get(programaRead));//aqui vou pegar um outro resultado e compara-lo ao resultado que obtive e armazenei no mapaVariavel

				if(mapaVariavel.get(progEstDados) != null){			
					progEstDados.setIcSelectRead("SIM" );
				}			
				
			}
		}

Ex: Apelido =joão;
no MapaVariavel fica assim = joão\t\t\t ;
*só acontece com um dos resultados, no teste que estou fazendo ele encontra 4 resultados, e apenas o primeiro vem no formato " joão\t\t\t ";

e no ProgramaRead =joão;

O Erro é este:
"AstValue.invoke
Criado 3 de maio de 2012
Ultima resposta 4 de mai. de 2012
Respostas 2
Participantes 2