Converter em String

2 respostas
S

Olá colegas javareiros

Estou com um pequeno problema e precisaria de uma luz de meus colegas. Seguinte, estou criando uma funcionalidade em meus módulos chamada relatorios. Quando o usuário clicar no commandButton da minha página JSF para visualizar os dados desse relatório. Abaixo está o meu código que me mostra o resultado de total de usuario por estado:

public List<Object> getTotalDeUsuariosPorEstado(){
		try {
			//objeto da classe Object recebe os valores da consulta ao banco de totalDeUsuariosPorEstados.
			Query queryTotalDeUsuariosPorEstado = entityManager.
			createQuery("select count(p) as total, e.nome from Pessoa p, Estado e, Cidade c where c.id = p.cidade and e.id = c.estado group by e.nome");
			//objeto recebe o resultado da consulta e retornando uma lista de Object
			totalDeUsuariosPorEstado =  (List<Object>) queryTotalDeUsuariosPorEstado.getResultList();
			
					
												
		} catch (Exception e) {
			System.out.println("Erro: " + e.getMessage());
		}	
		return  totalDeUsuariosPorEstado;	
	}

Meu problema ai é o seguinte:

Não estou conseguindo converter essa lista que me traz esse resultado
Total Estado
[Ljava.lang.Object;@145f918 [Ljava.lang.Object;@1755284

para converter esse resultado em String.

Se alguém puder dar uma luz fico agradecido.

2 Respostas

rsantik

Como ele retorna uma list, uma list é como um array…você não pode converter a list inteira ou o array inteiro em String…você deve converter o conteúdo de cada indice da list ou do array.

Se você pegar o objeto inteiro list e colocar .toString()…ele vai dar esses numeros loucos, você precisa pegar item po item da list e convertelos, uma de cada vez para String (.toString()).

Blz? Pelo que entendi é isso o problema.

Curiosidade: Esses numeros loucos que apareceu é o numero de identificação do objeto…usado pela JRE… Para nós pdesenvolvedores isso não significa nada!! rs rs rs…nem esquenta!

O

Olha cara a primeira coisa que você tem que saber é qual é o tipo do objeto que esta sendo retornado.

for (Object element : totalDeUsuariosPorEstado ) { System.out.println(element.getClass()); }

Depois de saber qual é o tipo do objeto.

Faz o cast antes de usar o objeto.

Por exemplo se você ver que o objeto é um Double.

for (Object element : totalDeUsuariosPorEstado ) { Double valor = (Double)element; System.out.println(valor.doubleValue()); }

Criado 4 de dezembro de 2009
Ultima resposta 4 de dez. de 2009
Respostas 2
Participantes 3