Registrando uma classe dentro desta classe (ArrayList)

4 respostas
adrianoseven

Olá pessoal.

Possuo uma classe Empresa que tem o atributo Nome, apenas. Mas quero que esta mesma classe armazene uma lista que contenha todas as empresas criadas. Então fiz o código.

import java.util.ArrayList;

public class Empresa {
    
    public static ArrayList<Empresa> listaEmpresa= new ArrayList<Empresa>();
    private String nome;
    
    //CONSTRUTOR COM NOME
    public Empresa( String nome ) {
        this.setNome(nome);
    }

    public void setNome(String nome){
        this.nome= nome;
    }

     public String getNome(){
         return nome;
     }

     public void incluir( Empresa emp ){
        listaEmpresa.add( emp );
     }
    
    public void consultar(){
        //TESTA SE LISTA ESTÁ VAZIA
        boolean isEmpty= listaEmpresa.isEmpty();
       
         if ( isEmpty == false ){
            //VARRE LISTA
            for ( Empresa emp : listaEmpresa ){
                System.out.println( emp.getNome());
            }
        }else
            return;
    }
}

Existe alguma forma melhor de fazer isso que estou querendo fazer ???
Estou tendo alguns problemas ao usar essa classe…

4 Respostas

marcosharbs

vc esta criando um arraylist de empresas dentro da classe empresa
toda vez que vc instanciar essa classe
seu arraylist sera instanciado novamente tb
e vc perdera as informacoes

F

que tipo de problema?

eu faria 2 objetos separados, um para empresa outro para a lista e interagia os 2 =p

marcosharbs

é tb faria desse jeito
criaria uma classe empresa com seus atributos
e uma otra classe contendo um ArrayList de Empresa

leo_mf

No atributo “listaEmpresa” tire a palavra chave static e mude o acesso para private. Ou deixe o “public static” e depois acrescente “final”. Obs.:Isso depende de vc.

Na linha 29 (if ( isEmpty == false )) mude para (if (!isEmpty))

Criado 22 de outubro de 2008
Ultima resposta 22 de out. de 2008
Respostas 4
Participantes 4