list实体类获取属性拼接字符串使用stream
时间: 2023-06-23 11:08:46 浏览: 126
假设我们有一个实体类 `Person`,包含属性 `id`、`name`、`age`,我们想要将所有人的 `name` 属性拼接为一个字符串,可以使用 Java 8 引入的 Stream API 来实现。
首先,我们需要将 `Person` 对象存储在一个 `List` 中,例如:
```java
List<Person> personList = new ArrayList<>();
personList.add(new Person(1, "Alice", 20));
personList.add(new Person(2, "Bob", 25));
personList.add(new Person(3, "Charlie", 30));
```
然后,我们可以使用 `stream()` 方法将 `List` 转换为一个 `Stream`,使用 `map()` 方法将 `Person` 对象映射为其 `name` 属性,最后使用 `collect()` 方法将所有 `name` 属性拼接为一个字符串,例如:
```java
String names = personList.stream()
.map(Person::getName)
.collect(Collectors.joining(", "));
```
上述代码中,`Person::getName` 是一个方法引用,等价于 `p -> p.getName()`,表示将 `Person` 对象映射为其 `name` 属性。`Collectors.joining(", ")` 表示将所有 `name` 属性用 `, ` 连接起来,生成一个字符串。
最终,`names` 的值为 `"Alice, Bob, Charlie"`。
阅读全文