Erro: type list does not take parameters
public List<Onibus> pesquisarNaListaDeOnibus(String chassi){
List<Onibus> listaOnibus = new ArrayList<Onibus>();
try {
String sql = "select * from onibus WHERE chassi LIKE ('%"+chassi+"%') "
+ "OR chassi LIKE ('%"+chassi.toUpperCase()+"%') "
+ " ORDER BY chassi";
PreparedStatement stm = connex.getConexao().prepareStatement(sql);
ResultSet rs = stm.executeQuery();
while (rs.next()) {
Onibus bus = new Onibus();
bus.setAno(rs.getInt("ano"));
bus.setChassi(rs.getString("chassi"));
bus.setPlaca(rs.getString("placa"));
bus.setTipoVeiculo(rs.getString("tipoVeiculo"));
bus.setNumeroOnibus(rs.getInt("numeroOnibus"));
listaOnibus.add(bus);
}
connex.desconecta();
return listaOnibus;
} catch (Exception e) {
System.out.println("Erro: " + e);
connex.desconecta();
}
return listaOnibus;
}
Da uma olhada na sua importação, se tiver assim:
import java.awt.List;
troca pra:
import java.util.List;
Já tinha observado isso, porém mesmo com a mudança da importação o erro permanece.
O erro se concentra aqui:
public List pesquisarNaListaDeOnibus(String chassi){
List listaOnibus = new ArrayList();
Erro: type list does not take parameters
ta, mostra as importações.
vc trocou o codigo?
Euder_Vilker1:
O erro se concentra aqui:
public List pesquisarNaListaDeOnibus(String chassi){
List listaOnibus = new ArrayList();
Erro: type list does not take parameters
Posta o seu fonte completo, ou você está fazendo import
da classe/interface errada ou sua classe também se chama List
.
package DAO;
import conexao.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import entidades.Onibus;
import java.sql.SQLException;
import java.util.ArrayList;
import java.awt.List;
import java.util.List;
import javax.swing.JOptionPane;
```
public class OnibusDAO {
Conexao connex = new Conexao();
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
public List<Onibus> pesquisarNaListaDeOnibus(String chassi){
List<Onibus> listaOnibus = new ArrayList<Onibus>();
try {
String sql = "select * from onibus WHERE chassi LIKE ('%"+chassi+"%') "
+ "OR chassi LIKE ('%"+chassi.toUpperCase()+"%') "
+ " ORDER BY chassi";
PreparedStatement stm = connex.getConexao().prepareStatement(sql);
ResultSet rs = stm.executeQuery();
while (rs.next()) {
Onibus bus = new Onibus();
bus.setAno(rs.getInt("ano"));
bus.setChassi(rs.getString("chassi"));
bus.setPlaca(rs.getString("placa"));
bus.setTipoVeiculo(rs.getString("tipoVeiculo"));
bus.setNumeroOnibus(rs.getInt("numeroOnibus"));
listaOnibus.add(bus);
}
connex.desconecta();
return listaOnibus;
} catch (Exception e) {
System.out.println("Erro: " + e);
connex.desconecta();
}
return listaOnibus;
}
}
```
Apaguei e o erro persiste.
Tenta mudar essa linha para a linha abaixo
List<Onibus> listaOnibus = new ArrayList();
Substitui, porém o erro persiste!
Se for o caso de existir uma classe chamada List, como resolver?
Aí vais ter que declarar explicitamente com o nome do pacote:
java.util.List<Onibus> listaOnibus = new ArrayList();
Mas porque você tem mais uma classe chamada List
?
Pra quê essa classe serve?
bdot
Novembro 14, 2020, 11:01pm
#17
Mude o nome para ListCarros por exemplo, gerando valor semântico e evitando confusão com a interface.
Eventualmente haverá classes com o mesmo nome a exemplo da propria classe List, entretanto, não faz muito sentido você entrar na “concorrência” com essas interfaces.
Verifiquei e não há essa classe, realmente não sei o que esta ocorrendo.
Então faz favor de postar o código completo de sua classe, senão não conseguimos te ajudar.