Adicionar Data do tipo Calendar na List

Boa noite,

Estou estudando pela apostila da caelum FJ-21, e me deparei com o seguinte problema referente a datas.

				Contato contato = new Contato();
				contato.setNome(rs.getString("nome"));
				contato.setEmail(rs.getString("email"));
				contato.setEndereco(rs.getString("endereco"));

				Date dt; // = sdf.parse(this.data);

				try {
					Calendar cal = new GregorianCalendar();
					SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
					this.data = sdf.format(rs.getDate("dtNascimento"));

					dt = new Date(sdf.parse(this.data).getTime());
					cal.setTime(dt);
					sdf.format(cal.getTime());

					contato.setDtNascimento(cal);
				} catch (ParseException ex) {
					ex.printStackTrace();
				}

				// adicionando o objeto à lista
				contatos.add(contato);

A minha saida para a data é essa:

Data de Nascimento: Wed Jan 25 00:00:00 BRST 2012

Bem, a minha pergunta é, se consigo formatar essa saída no padrão: “dd/mm/yyyy”?
Já que é para exibir ao usuário, não poderia ser uma String apenas? Se sim como faço para add na lista como string, ou por outra maneira?

Obrigado desde já.

Na verdade depois de convertido para esse formato, a data se torna apenas uma String, ou seja, o formato dd/MM/yyy é apenas uma forma de apresentação.
Para lidar com as datas de fato, utilize os metodos da classe Date e só formate quando for apresentá-la

para lidar com datas acho bem melhor trabalhar com a classe Datte do pacote java.util
mas como você está estudando fica a seu carater

[code]import java.text.DateFormat;
import java.text.SimpleDateFormat;

DateFormat df = new SimpleDateFormat( “dd/MM/yyyy” );

System.out.println( df.format( seuCalendarAqui.getTime() ) );
// ou
System.out.println( df.format( setDateAqui ) );[/code]

Agora que vi que você fez algo parecido, mas com algumas coisas desnecessárias.
Enfim, acho que não entendi o que você quer.

[]'s

[quote=davidbuzatto][code]import java.text.DateFormat;
import java.text.SimpleDateFormat;

DateFormat df = new SimpleDateFormat( “dd/MM/yyyy” );

System.out.println( df.format( seuCalendarAqui.getTime() ) );
// ou
System.out.println( df.format( setDateAqui ) );[/code]

Agora que vi que você fez algo parecido, mas com algumas coisas desnecessárias.
Enfim, acho que não entendi o que você quer.

[]'s[/quote]

Então davidbuzatto, só que queria exibir essa data nessa classe:

package br.com.caelum.teste;

import java.util.List;

import br.com.caelum.beans.Contato;
import br.com.caelum.dao.ContatoDAO;

public class TestaLista {

	public static void main(String[] args) {

		ContatoDAO dao = new ContatoDAO();
		List<Contato> contatos = dao.getLista();

		// Impressão das informações dos contatos
		for (Contato contato : contatos) {

			System.out.println("Nome: " + contato.getNome());
			System.out.println("Email: " + contato.getEmail());
			System.out.println("Endereço: " + contato.getEndereco());
			System.out.println("Data de Nascimento: " + contato.getDtNascimento().getTime() + "\n");

		}

	}

}

Como pode ver eu chamo minha lista da minha classe DAO, queria saber como consigo trazer essa informação sem mexer na minha estrutura, acho que colocar na minha List não tem como, ou posso fazer um metodo separado, algo assim, estou meio perdido na verdade.

Obrigado.

Uai, mas é só formatar a data que está vindo no calendário (linha 21).
Não é isso q vc quer?

[]'s

[quote=davidbuzatto]Uai, mas é só formatar a data que está vindo no calendário (linha 21).
Não é isso q vc quer?

[]'s[/quote]

olá davidbuzatto, desculpa responder só agora. Bem era isso mesmo, foi falta de atenção, pois estava focando na idéia de add na lista e na minha classe de teste carregar já formatada. Bem preciso prestar mais atenção, mas muito obrigado pela resposta e esclarecimento!

Abraço e sucesso!