Java.lang.NullPointerException em ArrayList

Pessoal, to com um problema para buscar dados de uma ArayList e não estou identificando o motivo.
Eu tenho uma classe que faz acesso ao banco de dados.

Num dos métodos dessa classe, eu realizo um select em uma tabela de cidades para retornar todas as cidades cadastradas, para em seguida exibi-las na página jsp.

Porém na jsp está sempre gerando o erro de java.lang.NullPointerException.

Código do método:

public static ArrayList listaCidades(){
        ArrayList<String> lista = null;
        try{
            abreConexao();
            PreparedStatement pst = con.prepareStatement("SELECT CD_CIDADE, DS_CIDADE FROM CIDADES_SITE"
                    + " ORDER BY DS_CIDADE ASC");
            ResultSet rs = pst.executeQuery();
            while (rs.next()){
                lista.add(rs.getString(2));
            }
            rs.close();
            pst.close();
        }catch(Exception e){
            erros = "Não foi possivel listar as especialidades: "+e.toString();
        } finally{
            fechaConexao();
        }
        return lista;
    }

E abaixo o código na jsp onde tento buscar alguma informação dessa ArrayList.
Para teste, estou somente tentando buscar o valor da mesma:

 <%
                       ArrayList<String> lista = Conexao.listaCidades();
                       out.println(lista.size());
                    %>

O que estou esquecendo ou fazendo errado?
Apenas lembrando que o SELECT acima resulta dados.

Obrigado.

Simples, em nenhum momento você instancia a sua ArrayList.
Ela é referenciada na primeira linha do método da DAO, mas não é instanciada

 ArrayList<String> lista = null;//cadê o = new ...???

hehehe, que coisa.

Estou estudando ainda orientação a objetos e as vezes passam essas coisas básicas, rsrs.

Era só isso mesmo, vlw.

Um conselho,

Tenta “debuggar” antes o seu código (pode ser visualmente mesmo), garanto que você vai absorver melhor as coisas.

NullPointerException é um “erro” muito simples de resolver.

[quote=lazarento]Um conselho,

Tenta “debuggar” antes o seu código (pode ser visualmente mesmo), garanto que você vai absorver melhor as coisas.

NullPointerException é um “erro” muito simples de resolver.[/quote]
Para saber resolver isto, só se os conceitos estiverem bem fixados.
Caso contrário, fica muito complicado