解释这行代码List<Long> shopIds = shopInfos.stream().map(ShopInfo::getWodaShopId).collect(Collectors.toList());
时间: 2024-06-04 08:08:24 浏览: 79
这行代码使用 Java 8 中的 Stream API 对一个名为 `shopInfos` 的列表进行操作,其中每个元素都是一个 `ShopInfo` 对象。该代码的目的是从每个 `ShopInfo` 对象中获取其 `wodaShopId` 属性,并将所有 `wodaShopId` 放入一个新列表 `shopIds` 中。
具体来说,这行代码的执行步骤如下:
1. `shopInfos.stream()` 将 `shopInfos` 转换为一个 `Stream<ShopInfo>` 对象,通过该对象可以对每个 `ShopInfo` 进行操作。
2. `map(ShopInfo::getWodaShopId)` 对每个 `ShopInfo` 对象调用其 `getWodaShopId()` 方法,并将返回值作为新的 `Stream<Long>` 对象。
3. `collect(Collectors.toList())` 将 `Stream<Long>` 中的元素收集到一个新列表中,最终得到一个 `List<Long>` 对象 `shopIds`,其中包含了所有 `ShopInfo` 对象的 `wodaShopId` 值。
阅读全文