Problemas em setar valores em atributos [RESOLVIDO]

então pessoal, to tentando executar o seguinte código

[code]public ArrayList getClientes(){
ArrayList clientes= new ArrayList();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
Cliente cliente = null;

	try{
		conn = ConexaoUtil.getConexao();
		stmt = conn.createStatement();
		StringBuffer sql = new StringBuffer();
		sql.append("Select * from Cliente where idCliente = 3");
		rs = stmt.executeQuery(sql.toString());
		
		while(rs.next()){
			
			cliente.setTelefone(rs.getString("telefone"));
			cliente.setNome(rs.getString("nome"));
			cliente.setLogradouro(rs.getString("logradouro"));
			cliente.setDurabilidadeGas(rs.getInt("durabilidadeGas").toString());
			clientes.add(cliente);
		}
		
	}catch(Exception e){
		e.printStackTrace();
	}finally{
		try{
			if(conn!=null)
				conn.close();
			if(stmt!=null)
				stmt.close();
			
		}catch(Exception ex){
			ex.printStackTrace();
		}
	}

	return clientes;
}[/code]

Mas lança exceção ao alcançar o código cliente.setTelefone(rs.getString(“telefone”)); , exceção do tipo NullPointerException.

Só para constar, o objeto cliente possui o campo telefone, o método set, e o campo é do tipo String, tanto na classe quanto no banco, e a coluna no banco é “telefone”. Quando eu dou um “INSPECT” eu consigo ver o valor certo, mas o código rodando sozinho lança nullpointerException. PQ??? PLEASEEEE

Isso pq vc nao usou o construtor do cliente. Use-o antes de setar as propriedades, se não vai ter que dar NullPointerException mesmo…

valew!

hmmm vc poderia examinar melhor a pilha e ver que o erro era na classe cliente e não no atributo :smiley:

Outra coisa, seria bom vc usar o construtor dentro do while. Isso porque, se vc colocar fora, não vai criar um lista com os diferentes clientes, e sim uma lista composta pelo mesmo cliente (o último lido).