Dae pessoal,
Achei o meu código meio feio e gostaria de perguntar se alguém tem alguma sugestão pra eu melhorar.
O que acontece é que eu tenho que comparar strings.
O contexto: método que passa uma string como parâmetro e dependendo da string que entrar por parametro eu retorno outra string:
Segue código para que entendam.
abstract class Teste() {
public static String getProductId(String productName) {
String productId = "";
if (productName.trim().compareTo("produto a") == 0) {
productId = "324";
} else if (productName.trim().compareTo("produto b") == 0) {
productId = "323";
} else if (productName.trim().compareTo("produto c") == 0) {
productId = "321";
} else if (productName.trim().compareTo("produto d") == 0) {
productId = "320";
} else if (productName.trim().compareTo("produto e") == 0) {
// continua os testes
}
}
Como podem ver eu comparo a string que entra por parametro com strings estaticas ex: “product a” , “product b” etc …
Pelo que eu vi os caras utilizam enum para esse tipo se situação, mas não sei como implementar para essa situação.
Acho que o ideal seria eu criar um enum do tipo.
enum blabla {
codigogoProductA("product a");
codigogoProductb("product b");
}
Dai comparo com a chave retornada do enum ao invés de ter a string statica no meu código, com isso centralizaria e se um dia precisasse alterar o código de algum produto só mudaria no enum.
O que acham amigos.
Abraço.