在Java 8中,你可以使用Stream API来轻松地从List集合中提取对象的属性。以下是一个示例,假设你有一个`Item`类,其中有一个名为`id`的属性,并且你想要获取一个包含所有`Item`对象`id`属性的List。
首先,定义`Item`类:
```java
public class Item {
private int id;
// 可能还有其他属性
public Item(int id) {
this.id = id;
}
public int getId() {
return id;
}
// 其他getter和setter
}
```
然后,你可以使用Stream API来获取所有`Item`对象的`id`属性,如下所示:
```java
import java.util.List;
import java.util.ArrayList;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 创建一个Item对象的List集合
List- itemList = new ArrayList<>();
itemList.add(new Item(1));
itemList.add(new Item(2));
itemList.add(new Item(3));
// ... 可以继续添加更多Item对象
// 使用Stream API获取所有Item的id属性
List ids = itemList.stream()
.map(Item::getId)
.collect(Collectors.toList());
// 打印结果
System.out.println(ids);
}
}
```
在这个例子中,`itemList.stream()`创建了一个Stream对象,然后`map(Item::getId)`将Stream中的每个`Item`对象映射为其`id`属性。最后,`collect(Collectors.toList())`将映射后的结果收集到一个新的List集合中。运行这段代码会输出所有`Item`对象的`id`列表。