enum/switchcase a contains w list

0

Powiedzmy ze mam metoda ktora bierze argument nalezacy do zbioru mozliwych okolo 30 opcji. Musze zwrocic z tej metody typ opcji np "TEXT" albo "NUMBER", w zaleznosci od podanego argumentu. Moge to zrobic switchcasem, albo zdefiniowac to wszystko w enumie np ARG1("TEXT"), ARG2("NUMBER"), ARG3("TEXT").... (tu jestten problem, ze argumenty maja w sobie spacje wiec nie mozna ich uzyc bezposrednio jak key, ale to drobna przeszkoda). Jezeli jednak typow jest mniej niz opcji, np 3 typy a mozliwych argumentow 30, to moge to zrobic: List<String> listText= {"ARG1", "ARG3"}, List<String> listNumber = {"ARG2"}, i potem zrobic po prostu if(listText.contains(arg)) return "TEXT" else return "NUMBER". Czy z perspektywy biznesowej to ostatnio rozwiazanie jest zle albo ma jakies wady?

3

A czemu nie Map w takim razie zamiast tych list z contains? Co za problem mapować sobie arg -> type? Co więcej, taką mapę to można by wyrzucić gdzieś do konfiguracji aplikacji, tak żeby można było to zmienić bez rekomplikowania wszystkiego.

0

moze zrobic liste wartosci enumow zamiast listy stringow? zeby upewnc sie ze wartosci sa aktualne i nie ma literowek

1 użytkowników online, w tym zalogowanych: 0, gości: 1