Estava pensando em como fazer para além de poder consultar pelo nome do produto consultar também pelo ID. Exemplo: Ao consultar no navegador a URI: http://localhost:8080/gerenciador/busca?filtro=1 deveria ser exibido
Resultado da busca: 1: Doceria Bela Vista
Cheguei ao código abaixo que parece funcionar, mas gostaria de saber se é uma boa opção de código, caso contrário quais são as desvantagens e alternativas:
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()) || Long.toString(empresa.getId()).contains(nome))
similares.add(empresa);
}
return similares;
}
Sou iniciante em desenvolvimento e muitas vezes fico preocupado em saber se além do código estar funcionando, se está bem estruturado, se não estou escrevendo nenhuma maluquice que "por sorte" funciona. Acho bacada também debater e aprender outras formas de solução, com os prós e contras de cada situação.