Erro Com List<generics>!

5 respostas
delog13
Pessoal, estou tendo problema com List, o eclipse só está aceitando ArrayList e não List, pq? alguem...
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);
		}
		
	}

5 Respostas

ViniGodoy

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.

ViniGodoy

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?

Coelho_Nerd

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!

delog13

Já tentei Vini, não adiantou…
Coelho, mas na verdade estou criando na heap um ArrayList… mesmo assim ñ rolou…

delog13

ViniGodoy:
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.


Vlw Vini, estava importando de .awt !! vlws

Criado 24 de março de 2012
Ultima resposta 26 de mar. de 2012
Respostas 5
Participantes 3