Método Retornando uma Lista de Objetos do banco JDBC
6 respostas
kvnallen
Pessoal estou criando um método que retorna uma lista de objetos no banco, mas ele está dando nullpointer sempre, já tentei várias coisas e não consegui, o que estou fazendo de errado?
publicList<Noticia>listarTodos(){Stringsql="SELECT titulo,conteudo from noticia";List<Noticia>listAll=null;Notician;try{Connectioncon=Conexao.getConnection();Statementstm=con.createStatement();ResultSetrs=stm.executeQuery(sql);while(rs.next()){n=newNoticia();n.setTitulo(rs.getString("titulo"));n.setConteudo(rs.getString("conteudo"));listAll.add(n);System.out.println("ADICIONOU 1");}System.out.println("Adicionou Todos!");con.close();rs.close();stm.close();}catch(Exceptione){System.out.println("Listando... "+e.getMessage());}returnlistAll;}
Poderia me explicar porque se declara List listAll = new ArrayList(); e não List listAll = new List(); ?
Outra dúvida
Qual a diferença entre awt.List e java.util.List?
sephil
A classe List do pacote util, é uma Interface, por isso não conseguimos instancia-la.
Portanto utilizamos a classe concreta ArrayList, que implementa List.
Além da ArrayList, dependendo da sua necessidade você também poderia utilizar as classes AbstractList, AbstractSequentialList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack e Vector. Todas elas implementam List.
A util.List, é uma interface utilizada para se trabalhar com Coleções (Collections) de objetos, e a awt.List é uma classe concreta, que representa um componente visual do antigo pacote AWT, é uma caixa com uma lista de itens selecionáveis.
viudes
Olá
Porque o List é uma interface, interfaces é apenas uma especificação do que você tem que implementar, como se fosse um contrato.
Então a Classe ArrayList implementa a interface List.
List do java.util é uma interface a outra awt.List é concreta
Mais informações sobre interfaces olhe estes tópico: