У меня есть набор неформатированных строк, которые мне нужно отформатировать.У меня есть полный список для обоих.
Вот его подмножество:
"in room" => "ROOM"
"in big room" => "BIG ROOM"
"in building" => "BUILDING"
"in street" => "STREET"
"in house" => "STANDARD"
"Room box" => "ROOM"
"Big room box"=> "BIG ROOM"
"Street box" => "STREET"
"Box" => "STANDARD"
default value => "STANDARD"
Мне сказали использовать enum
, чтобы у меня не было тонн if
s, но я не уверен, как это поможет.Мое перечисление будет выглядеть примерно так:
public enum BoxLocation {
STANDARD("STANDARD"),
ROOM("ROOM"),
BIG_ROOM("BIG ROOM"),
...
Но я не понимаю, как это поможет избежать множества ifs.
Как мне связать одно или несколько (никогда не более 2кроме значения по умолчанию) неформатированные строки в форматированную строку, какой самый чистый путь?Я думал что-то вроде:
if(boxLocation.equals("in room") || boxLocation.equals("Room box"))
boxLocation = BoxLocation.ROOM;
Но тогда как это помогает иметь перечисление, я не могу просто использовать это?
boxLocation = "ROOM";
РЕДАКТИРОВАТЬ: Некоторые отформатированные значения имеют пробелы, что меняет вещи с перечислениями.Я редактировал список.