Imprimir uma Collection

Pessoal,

Como faço para imprimir através de um loop essa collection:

	public Collection<TbrcpRegraCondicaoPagtoPz> SelectUpgradeCondicaoDePagamento() throws SQLException{

		PreparedStatement stmt =
			this.connection.prepareStatement("select rcp_id cod_cond_pagto,"
										+ "rcp_descricao nom_cond_pagto"
										+ "from TBRCP_REGRA_CONDICAO_PAGTO_PZ"
										+ "order by rcp_descricao");
		ResultSet rs = stmt.executeQuery();

		List<TbrcpRegraCondicaoPagtoPz> listaTabela = new ArrayList<TbrcpRegraCondicaoPagtoPz>();

		while(rs.next()){
			TbrcpRegraCondicaoPagtoPz retorno = new TbrcpRegraCondicaoPagtoPz();
			retorno.setRcpId(rs.getInt("cod_cond_pagto"));
			retorno.setRcpDescricao(rs.getString("nom_cond_pagto"));

			listaTabela.add(retorno);

		}

		rs.close();
		stmt.close();

		return listaTabela;
	}

Pois eu estou instanciando dessa maneira, só que ele imprimi sem estar formatado:

		PersisteDados persistedados;
		try {
			persistedados = new PersisteDados();

			Collection retorno = persistedados.SelectSecaoSub();

			Iterator it = retorno.iterator();
			while( it.hasNext() ){
				System.out.println(it.next());

			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Dentro da classe TbrcpRegraCondicaoPagtoPz (a sua variável retorno) implemente o método toString(), que deve concatenar e retornar uma String formatando os dados do modo que você quer exibir, então quando você der um System.out.println(retorno) ele vai exibir o resultado desse toString()

public String toString() { /* retorna uma String formatada com os atributos do objeto */ }

ele está imprimindo a ref do objeto, é esse o problema???
se tiver você pode sobreescrever o metodo toString do seu objeto e fazer a string voltar do jeito que você acha que seu objeto deve ser impresso

Não tem outro modo sem ser o toString? usando os beans mesmo?

Por que? Você não tem acesso ao código-fonte da classe?

O toString() é próprio para isso, sendo a maneira mais indicada.

Se não tiver jeito você pode criar um método formataResultado() para devolver a String formatada a ser utilizada…

private String formataResultado(TbrcpRegraCondicaoPagtoPz resultado){ /* Concatenação e retorno da String com os dados do resultado */ }
Se for outra coisa me explique melhor o que você está tentando fazer…

Quando você dá println em um objeto que não tem o toString() sobrescrito, é chamado o toString() da classe Object, que vai retornar o refid do objeto na memória RAM, que não serve para ser exibido ao usuário…