Tengo un método simple de Java que devuelve los colores en función del valor de HSB convertido a partir de un RGB. Funciona (necesita algunos ajustes), pero utilizo una serie de sentencias else if y anidado para devolver los datos que deseo. Había oído que HashMaps y String Factories eran mejores, pero no podía ver cómo funcionaban con los datos a distancia. ¿Hay alguna solución mejor que funcione con datos a distancia como este?Mejor solución que otra, si con datos a distancia
Fragmento:
public static String getColorName() {
getHSB(rgb);
if(hsbH >= 45 && hsbH < 75) {
if(hsbS > 0 && hsbS < 45 && hsbB > 70){
return "White/Off White";
} else if(hsbS > 0 && hsbS < 45 && hsbB < 10) {
return "Dark Yellow";
} else {
return "Yellow";
}
} else if(hsbH >= 15 && hsbH < 45) {
if(hsbS > 0 && hsbS < 45 && hsbB > 70){
return "White/Off White";
} else if(hsbS > 0 && hsbS < 45 && hsbB < 10) {
return "Dark Orange";
} else {
return "Orange";
}
...
lugar de piratear un mapa, ¿por qué no agregar 'nombre' al' ColorRule'? Luego, al inicio de la aplicación, las reglas de color se crean y definen en una lista de colores conocida, y para buscar un color, solo hace un FindAll en la lista. –
@Stefan Tienes razón, eso sería mejor. –