Quando eu vejo o resultado da minha busca, não aparece as strings mas uma lista de códigos:
Resultado da busca:
1: br.com.alura.gerenciador.Empresa@395b184e
2: br.com.alura.gerenciador.Empresa@3a40146f
3: br.com.alura.gerenciador.Empresa@7ea9d708
4: br.com.alura.gerenciador.Empresa@1101d905
5: br.com.alura.gerenciador.Empresa@70793a03
6: br.com.alura.gerenciador.Empresa@4a20bb0f
//segue o meu código em BuscaEmpresa.java
package br.com.alura.gerenciador.web;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.alura.gerenciador.Empresa;
import br.com.alura.gerenciador.dao.EmpresaDAO;
@WebServlet(urlPatterns="/busca")
public class BuscaEmpresa extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.println("<html><body>");
writer.println("Resultado da busca:<br/>");
String filtro = req.getParameter("filtro");
Collection<Empresa> empresas = new EmpresaDAO().buscaPorSimilaridade(filtro);
writer.println("<ul>");
for (Empresa empresa : empresas) {
writer.println("<li>" + empresa.getId() + ": " + empresa + "</li>");
}
writer.println("</ul>");
writer.println("</body></html>");
}
}
// Esse é o EmpresaDAO
package br.com.alura.gerenciador.dao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import br.com.alura.gerenciador.Empresa;
public class EmpresaDAO {
private final static Map<Long, Empresa> EMPRESAS = new HashMap<>();
static {
geraIdEAdiciona(new Empresa("Doceria Bela Vista"));
geraIdEAdiciona(new Empresa("Ferragens Docel"));
geraIdEAdiciona(new Empresa("Alura"));
geraIdEAdiciona(new Empresa("Google"));
geraIdEAdiciona(new Empresa("Caelum"));
geraIdEAdiciona(new Empresa("Casa do Código"));
}
public Collection<Empresa> buscaPorSimilaridade(String nome) {
if (nome == null)
return EMPRESAS.values();
List<Empresa> similares = new ArrayList<>();
for (Empresa empresa : EMPRESAS.values()) {
if (empresa.getNome().toLowerCase().contains(nome.toLowerCase()))
similares.add(empresa);
}
return similares;
}
public void adiciona(Empresa empresa) {
geraIdEAdiciona(empresa);
}
private static void geraIdEAdiciona(Empresa empresa) {
long id = EMPRESAS.size()+1l;
empresa.setId(id);
EMPRESAS.put(id, empresa);
}
}