使用Java中的流api进行复杂的操作

时间:2019-06-26 07:48:08

标签: java java-8 java-stream

我有一个要求,我有一个用逗号分隔的字符串,然后我需要读取单个值并使用它们创建对象集合。

例如,我的字符串包含类似foo , bar, baz的值,然后我需要使用它们来创建三个对象,例如

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

,前后可能有多个空格,因此我也要删除它们,以便使用正确的字符串创建我的对象,如何使用流API和单行代码?

1 个答案:

答案 0 :(得分:8)

我将您的班级标记为YourClass,因为Object已被使用。

您可以使用split将输入String拆分为标记,并使用trim消除空格:

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