java stream.collect如何进行类型转换

avatar
作者
筋斗云
阅读量:0

在Java中,使用Stream API的collect()方法可以将流中的元素收集到一个集合中。要进行类型转换,你需要使用map()方法将流中的元素转换为目标类型,然后再使用collect()方法将它们收集到一个集合中。

以下是一个示例,演示了如何将一个Stream<String>转换为Stream<Integer>,然后将其收集到一个List<Integer>中:

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors;  public class Main {     public static void main(String[] args) {         List<String> stringList = Arrays.asList("1", "2", "3", "4", "5");          // 使用map()方法将Stream<String>转换为Stream<Integer>         List<Integer> integerList = stringList.stream()                 .map(Integer::parseInt)                 .collect(Collectors.toList());          System.out.println(integerList);     } } 

在这个示例中,我们首先创建了一个包含字符串的列表stringList。然后,我们使用stream()方法创建了一个Stream<String>。接下来,我们使用map()方法将流中的每个字符串元素转换为整数,使用Integer::parseInt方法引用。最后,我们使用collect()方法将转换后的整数流收集到一个List<Integer>中。

运行此代码将输出以下内容:

[1, 2, 3, 4, 5] 

这表明我们已成功地将Stream<String>转换为Stream<Integer>,并将其收集到一个List<Integer>中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!