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

5 java java-8 java-stream

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

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

Object foo = new Object("foo");
Object bar = new Object("bar");
Object baz = new Object("baz");
Run Code Online (Sandbox Code Playgroud)

在之前和之后可能会有多个空格,,因此我也希望将其删除,以便使用适当的字符串创建我的对象,如何使用流API和一行代码来做到这一点?

Era*_*ran 7

我将您的班级标记为YourClass,因为Object已经上过课。

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

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