сложная операция с использованием потокового API в Java - PullRequest
5 голосов
/ 26 июня 2019

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

Например, моя строка содержит значение типа foo , bar, baz и затем мне нужно создать три объекта, используя их как

Object foo = new Object("foo");
Object bar = new Object("bar");
Object baz = new Object("baz");

До и после , может быть несколько пробелов, поэтому я хочу удалить их, чтобы мой объектсоздается с правильной строкой , как я могу сделать это с помощью потокового API и одной строки кода?

1 Ответ

8 голосов
/ 26 июня 2019

Я обозначил ваш класс как YourClass, поскольку Object уже занято.

Вы можете использовать split, чтобы разбить входные данные String на токены, и trim, чтобы устранить пробелы:

List<YourClass> list =
    Arrays.stream(inputStr.split(","))
          .map(s -> new YourClass(s.trim())
          .collect(Collectors.toList());
...