Você pode ganhar um iPad 2 na promoção do Javafree
O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!
Clique aqui e saiba mais.
Home > Artigos > Java em Geral >
Representação textual de objetos - método toString()
Publicado por simu em 16/05/2012 - 3.081 visualizações
Esse método toString() é definido na classe Object, portanto é herdado por todos os objetos - todos os objetos são capazes de gerar uma representação textual. Mas o método do Object não conhece as classes derivadas, não sabe como o objeto deve ser representado. Por isso usa um padrão: o nome da classe seguido por um '@' e pelo hashCode em hexadecimal da instância em questão:
Exemplo:
vai imprimir algo como "Pessoa@1b533b0" (provavelemnte com outro número).
Esse formato normalmente não é o que queremos! Por isso temos que sobrescrever o método toString() para obter a representação desejado.
Exemplo, para mostrar o nome e a idade (entre parênteses) da pessoa, adicionamos o método toString():
dessa vez obteremos, como desejado "fulano(21)".
O mesmo problema ocorre com um vetor (Array):
irá imprimir algo como "[I@15497e0" - "[I" representa um array de int's.
O problema é que não tem como sobrescrever o toString() de um Array, mas podemos usar a classe auxiliar Arrays do pacote java.util que contém vários métodos estáticos para trabalhar com um Array. No nosso caso podemos usar o toString(int[]):
que imprime "[1, 2, 3]"@146c21b
Resumo:
Sempre que obter algo como "Classe@146c21b" é porque a classe em questão não sobrescreveu o método toString().
Solução:
Implementar/sobrescrever o método toString() do Objeto ou usar o Arrays.toString() se for um Array.
- Representar Objetos como texto.
- Controle de Agenda
- SUBTRAIR DOIS VETORES
- Desenvolvendo meu primeiro projeto em JAVA
- Utilizar Metodo DAO para listar dados na frame utilizando ActionPerformed
- técnicas de ordenações
- Classes
- Desformatar o html do jList
- Sequencia no Jframe
- Gravando arquivo por linha
- Problemas em exibir itens em JComboBox no Java
- problemas ao exibir dados de arraylist
- Conversão de Tipos Estruturados
- Erro na exportação de ResultSet para arquivo .csv
- chamar função para listar tabelas no JFrame.
- FAQ: Dúvidas Frequentes (tópicos repetidos)
- AJUDE ToString
- Ajuda/Problema com Object[]
- Como estender um método toString?
- [RESOLVIDO] Imprimir dados por Socket


