arrayList

Galera, estou com um problema em inserir dados em uma ArrayList.
Já revisei o codigo varias vezes e não achei o erro.

Codigo da Classe Atendente:

[code]package dados;

import java.util.GregorianCalendar;

import utilitarios.LtpUtil;

public class Atendente implements Comparable{

private String nome;
private String cpf;
private String telefoneFixo;
private String telefoneMovel;
private String email;
private GregorianCalendar dataAdmissao;

public Atendente(String nome, String cpf, String telefoneFixo,
		String telefoneMovel, String email, GregorianCalendar dataAdmissao) {
	super();
	this.nome = nome;
	this.cpf = cpf;
	this.telefoneFixo = telefoneFixo;
	this.telefoneMovel = telefoneMovel;
	this.email = email;
	this.dataAdmissao = dataAdmissao;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getCpf() {
	return cpf;
}
public void setCpf(String cpf) {
	this.cpf = cpf;
}
public String getTelefoneFixo() {
	return telefoneFixo;
}
public void setTelefoneFixo(String telefoneFixo) {
	this.telefoneFixo = telefoneFixo;
}
public String getTelefoneMovel() {
	return telefoneMovel;
}
public void setTelefoneMovel(String telefoneMovel) {
	this.telefoneMovel = telefoneMovel;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}
public GregorianCalendar getDataAdmissao() {
	return dataAdmissao;
}
public void setDataAdmissao(GregorianCalendar dataAdmissao) {
	this.dataAdmissao = dataAdmissao;
}
public String toString(){
	return "Nome: " + nome + "\n"
			+ "CPF: " + cpf + "\n"
			+ "Telefone Fixo: " + telefoneFixo + "\n"
			+ "Telefone Movel: " + telefoneMovel + "\n"
			+ "E-mail: " + email + "\n"
			+ "Data de Admissão: " + LtpUtil.formatarData(dataAdmissao, "dd/MM/yyyy");
}
@Override
public int compareTo(Atendente o) {
	return cpf.compareToIgnoreCase(o.getCpf());
}

}
[/code]

Codigo da inserção dos dados.
(Obs: Pacotes LTPUTIL - Consolo São arquivos meus, já estão inseridos certinhos)

[code]
private static void cadAtendente() {
String nome;
String cpf;
String telefoneFixo;
String telefoneMovel;
String email;
String opcao;
GregorianCalendar dataAdmissao = new GregorianCalendar();

	while (true) {
		nome = Console.readLine("Nome do Atendente: ").trim();
		if (nome.equals("") || LtpUtil.contarPalavras(nome) < 2) {
			System.out.println("Nome inválido.");
		} else
			break;
	}
	while (true) {
		cpf = Console.readLine("CPF do Atendente: ");
		if (cpf == "" || !LtpUtil.validarCPF(cpf)) {
			System.out.println("CPF Invalido");
		} else
			break;
	}
	while (true) {
		telefoneFixo = Console.readLine("Telefone Fixo: ");
		if (telefoneFixo.length() < 8) {
			System.out.println("Telefone inválido.");
		} else
			break;
	}
	while (true) {
		telefoneMovel = Console.readLine("Telefone Movel: ");
		if (telefoneMovel.length() < 8) {
			System.out.println("Telefone inválido.");
		} else
			break;
	}
	while (true) {
		email = Console.readLine("E-mail do cliente: ");
		if (email.equals("") || !LtpUtil.validarEmail(email)) {
			System.out.println("E-mail inválido.");
		} else
			break;
	}
	opcao = Console.readLine("Deseja cadastrar o Atendente acima?[S/N]\nOpção: ");
	if (opcao.equalsIgnoreCase("S")) {

		try {
			comercial.cadastrarAtendente(new Atendente(nome, cpf, telefoneFixo, telefoneMovel, email, dataAdmissao));
			System.out.println("Atendente Cadastrado com Sucesso.");
			pause();
		} catch (Exception e) {
			System.out.println(e.getMessage());
			pause();
		}
	} else if (opcao.equalsIgnoreCase("N")) {
		System.out.println("Cancelado o cadastro do Atendente.");
		pause();
	} else {
		System.out
				.println("Opção invalida, cancelado o cadastro do atendente.");
		pause();
	}

} [/code]

Codigo da hora de adicionar o Atendente na ArrayList:

	private ArrayList<Atendente> listaAtendente = new ArrayList<>();
	
	public void cadastrarAtendente(Atendente obj){
		listaAtendente.add(obj);
		
	}
}

Tenho um outro programa que fiz que está funcionando perfeitamente, não estou entendendo o erro desse.

Obrigado Pela ajuda,
Desde já
Jorge Back.

tenta assim

 private ArrayList<Atendente> listaAtendente = new ArrayList<Atendente>();  

[quote=rafaelviny]tenta assim

 private ArrayList<Atendente> listaAtendente = new ArrayList<Atendente>();  

Não deu, já havia testado.

deu algum erro?

coloca um breakpoint no metodo cadastrarAtendente e verifica se esta sendo chamado mesmo

[quote=rafaelviny]deu algum erro?

coloca um breakpoint no metodo cadastrarAtendente e verifica se esta sendo chamado mesmo[/quote]

Não deu erro algum, ja coloquei, e sim a função e chamada executada e me retorna NULL.

Estou usando Eclipse, estou fazendo o codigo no NetBeans para ver se é algum bug do eclipse.

sua função é void, ela nao retorna nada.

public void cadastrarAtendente(Atendente obj){
listaAtendente.add(obj);

}  

qual o valor da listaAtendente depois de passar pelo metodo cadastrarAtendente ?

tenta assim se quiser retornar alguma coisa


    public  ArrayList cadastrarAtendente(Atendente obj){  
       return  listaAtendente.add(obj);  
          
    }  

Ele está me retornando NULL

metodos void não retornam valores

e pq uso o try-catch

try {  
                comercial.cadastrarAtendente(new Atendente(nome, cpf, telefoneFixo, telefoneMovel, email, dataAdmissao));  
                System.out.println("Atendente Cadastrado com Sucesso.");  
                pause();  
            } catch (Exception e) {  
                System.out.println(e.getMessage());  
                pause();  
            }  

dai ele me retorna erro e na mensagem vem null.
Eu concordo que nao retorna nada, mas aparece um null pra mim aki!

será que e pq a classe so tem variavel do tipo String. dai a estrutura do ArrayList fica grande e nao consegue salvar?

Tem algo haver?

Coloquei o metodo como public static(cadastraAtendente) e funcionou.
Não sei pq disso, vc saberia pq?

[quote=Jorge Back]será que e pq a classe so tem variavel do tipo String. dai a estrutura do ArrayList fica grande e nao consegue salvar?

Tem algo haver?[/quote]

Nada a ver mesmo.

A variável “comercial” foi inicializada onde? Não vi nem sua declaração, nem sua inicializaçaõ. Ela é de que tipo?

no inicio da classe

public static Comercial comercial;

Como vc está chamando o método cadastrarAtendente?

Coloque o restante do código.