Olá pessoal.
Estou tendo um problema com um exercício que não estou entendendo o que está acontecendo.
Criei uma array (do tipo Empresa no meu caso) com 3 espaços. Preenchi todos esses espaços e criei um método para mostrá-los através do enhanced-for.
void mostraEmpregados(){
for(Empresa x : empregados){
System.out.println(x);
Mas quando visualizo não aparece os dados da array, o resultado aparece o seguinte:
Empresa@9304b1
Empresa@190d11
Empresa@a90653
Sei que deve ser uma coisa simples e espero que alguém em ajude.
Obrigado desde já.
Isso é pq ele esta exibindo o método toString() da classe Object, ou seja vc esta exibindo o seu objeto em si em vez de exibir o conteudo dele. Você tem 2 soluções:
1 - Sobreescreva o método toString(), na sua classe Empresa.
2 - Em vez de exibir o objeto em si, vc tera que exibir um atributo do seu objeto.
1 Exemplo:
void mostraEmpregados(){
for(int i = 0; i < arrayEmpregados.length; i++){
System.out.println(arrayEmpregados[i].getNome());
}
Quando você criar a classe o compilador coloca para você public class Empresa extends Object que tem o método toString que retorna o endereço de memória.
[quote=tflatorre]Olá pessoal.
Estou tendo um problema com um exercício que não estou entendendo o que está acontecendo.
Criei uma array (do tipo Empresa no meu caso) com 3 espaços. Preenchi todos esses espaços e criei um método para mostrá-los através do enhanced-for.
void mostraEmpregados(){
for(Empresa x : empregados){
System.out.println(x);
Mas quando visualizo não aparece os dados da array, o resultado aparece o seguinte:
Empresa@9304b1
Empresa@190d11
Empresa@a90653
Sei que deve ser uma coisa simples e espero que alguém em ajude.
Obrigado desde já.[/quote]