-1
I have a query in sql that is returning me in a wrong way.
He’s returning like this:
[Cidade.Cidade@1d8b06a, Cidade.Cidade@251a5c, Cidade.Cidade@15ec3c1
and I’d like you to return like this
Acrelândia
Assis Brasil
Follow the code of the method:
City Class:
package Cidade;
public class Cidade {
private String nom_cidade;
private String estado;
public String getNom_cidade() {
return nom_cidade;
}
public void setNom_cidade(String nom_cidade) {
this.nom_cidade = nom_cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String toString(){
return this.nom_cidade;
}
}
Classe Cidadedao
public class CidEstDao extends GenericDao {
public List<Cidade> getCidadeByEstado(String nom_cidade) throws Exception {
String select = "SELECT nom_cidade FROM cidade WHERE estado = ?";
Cidade cidade = null;
PreparedStatement stmt = getConnection().prepareStatement(select);
List<Cidade> cidades = new ArrayList<Cidade>();
stmt.setString(1, nom_cidade);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
cidade = new Cidade();
cidade.setNom_cidade(rs.getString("nom_cidade"));
cidades.add(cidade);
}
rs.close();
stmt.close();
return cidades;
}
}
Class Cidadeestcontroller
public class CidEstController {
public List<Cidade> buscaCidadePorEstado (String nom_cidade) throws Exception{
CidEstDao dao = new CidEstDao();
return dao.getCidadeByEstado(nom_cidade);
}
}
Main class
private List<Cidade> cidadePorEstado() throws Exception {
CidEstController cc = new CidEstController();
try {
//List<Cidade> c = cc.buscaCidadePorEstado(uf);
//List<Cidade> listaCidades = new ArrayList<>();
//listaCidades = cc.buscaCidadePorEstado (uf);
return cc.buscaCidadePorEstado (uf);
} catch (SQLException e) {
JOptionPane.showMessageDialog(this, "Ocorreu um erro, tente novamente!n" + e.getLocalizedMessage());
} catch (NullPointerException e){
JOptionPane.showMessageDialog(this, "Contato não localizdo ou não existe!n" + e.getLocalizedMessage());
}
return Collections.emptyList();
}
Another related:Doubts about the toString() method of the Object class
– user28595
The issue only reinforces that this question is duplicated of any of the two linked, take a look at the two questions and their answers.
– user28595
This can help you popular the Jcombobox
– user28595
Sorry but the toString it compares two values, I do not want that and add items to combobox I already know. This query it searches the cities by state and to return all cities I put List<city> however when I add the values in a box or make a println gets those values and I want to know how to change the method so that out of it when adding to a box it goes out with the names of the cities.
– Diego Gomes Dias
The
toString()
does not compare anything, it just displays a representation created by the object’s java. The 3 links I posted solve your problem. The third I still explain how to display correctly on a combobox.– user28595
This can help you if you don’t want to overwrite
toString()
, but use a Remaster for the combo: Pick object id attribute selected in Jcombobox– user28595