public List getLista() {
try {//aqui no tipo
List<Contato> contatos = new ArrayList<Contato>();
PreparedStatement stm = (PreparedStatement)this.connection.prepareStatement("select * from contatos");
ResultSet rs = stm.executeQuery();
while(rs.next()){
Contato contato = new Contato();
contato.setId(rs.getLong("id"));
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
//montando data
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
contato.setDataNascimento(data);
//adicionando obj a lista
contatos.add(contato);
}
rs.close();
stm.close();
return contatos;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Erro Com List<generics>!
5 Respostas
Certifique-se que você importou o java.util.List e não o java.awt.List
Da mesma forma, certifique-se que você importou o java.sql.PreparedStatement, para não ter que fazer aquele cast ali.
Além disso, se seu método retorna um List<Contato>, por que você não troca o valor de retorno para List<Contato> ao invés de só List?
Amigo, List, Set e Map são interfaces, por isso você não consegue trabalhar só com elas. Para poder trabalhar com elas você deverá criar instancias das classes que as implementam, no seu caso ArrayList, Vector etc.
Não sei se esta era a sua dúvida, mas você não pode, por exemplo, criar “List<?> lista = new List<?>()”, você deve utilizar a interface instanciando um objeto de uma classe que a implementa: “List<?> lista = new ArrayList<?>()”, o mesmo se aplica para o Map: “Map<?> mapa = new HashMap<?>()”.
Se esta era sua dúvida, espero tê-la esclarecido.
Abraço e bons códigos!
Já tentei Vini, não adiantou…
Coelho, mas na verdade estou criando na heap um ArrayList… mesmo assim ñ rolou…
Certifique-se que você importou o java.util.List e não o java.awt.ListDa mesma forma, certifique-se que você importou o java.sql.PreparedStatement, para não ter que fazer aquele cast ali.
Vlw Vini, estava importando de .awt !! vlws