Boa tarde pessoal,
Estou incomodado com um código de um sistema que estou mexendo, estou querendo dar uma melhorada nele, por isso dei uma pesquisada e encontrei diversas matérias dando dicas para substituir IF´s e SWITCH´s pelo uso de Maps e tal… porém, de todos os tópicos que li todos davam exemplo de IF´s simples, ou seja, com apenas um condição, veja o exemplo:
if (produto.getQuantidade()==1) {
.....
}else if (produto.getQuantidade()==2) {
.....
}else if (produto.getQuantidade()==3) {
.....
}else if (produto.getQuantidade()==4) {
.....
}else{
.....
}
Muitos dos tópicos que li, sugeriam a utilização de um Map para suprir a utilização de tantos IF´s, eu gostei e estou querendo utilizar, porém me deparei numa situação.
Quando há mais de uma condição nos IF´s, como eu deveria agir? Exemplo:
if (produto.getStatus().equals(Status.ATIVO) && produto.getQuantidade() ==10 && produto.getCor().equals(Cor.VERDE)) {
.....
} else if (produto.getStatus().equals(Status.ATIVO) && produto.getQuantidade() == 5 && produto.getCor().equals(Cor.AZUL)){
.....
} else if (produto.getStatus().equals(Status.INATIVO) && produto.getQuantidade() == 5 && produto.getCor().equals(Cor.PRETO)){
}
Como eu faria a chave do Map? Concatenaria como string ou criaria uma classe somente para representar as condições?
