Problemas em setar valores em atributos [RESOLVIDO]

4 respostas
hiroc

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

public ArrayList<Cliente> getClientes(){
		ArrayList<Cliente> clientes= new ArrayList<Cliente>();
		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;
	}

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

4 Respostas

renzonuccitelli

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…

hiroc

valew!

m0ska

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

renzonuccitelli

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).

Criado 26 de novembro de 2008
Ultima resposta 27 de nov. de 2008
Respostas 4
Participantes 3