Создать список перечислений из разделенных запятыми строк в Java - PullRequest
0 голосов
/ 08 июня 2018

Мне нужно создать список перечислений из строки через запятую.У меня есть некоторые конфигурации в файле свойств, которые в основном представляют собой список HttpStatus

, например:

some.config=TOO_MANY_REQUESTS,GATEWAY_TIMEOUT,BAD_GATEWAY 

. Эти конфигурации могут быть привязаны к LIST как:

@Value("#{'${some.config}'.split(',')}")
private List<HttpStatus> statuses;

Теперь это можно сделать одной строкой моего кода.Я получаю строку следующим образом:

 @Bean(name = "somebean")
 public void do(@Value("${some.config:}") String statuses) throws IOException {

        private List<HttpStatus>  sList = StringUtils.isEmpty(statuses) ? 
        globalSeries : **Arrays.asList(statuses.split("\\s*,\\s*"));**

 }

Arrays.asList (series.split ("\ s *, \ s *")); создаст список строк,Теперь я могу создать список перечислений, в противном случае мне нужно перебрать временный список, а затем создать список перечислений.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Вы также можете использовать шаблон для выполнения поставленной задачи:

Pattern.compile(regex)
       .splitAsStream(myString)
       .map(HttpStatus::valueOf)
       .collect(toList());
0 голосов
/ 08 июня 2018

Вы можете просто использовать поток и отобразить все значения String в значения Enum, используя Enum#valueOf

Arrays.stream(statuses.split("\\s*,\\s*"))
      .map(HttpStatus::valueOf)
      .collect(Collectors.toList());
...