开发者社区> 问答> 正文

Lambda表达式将数组/字符串列表转换为数组/整数列表

由于Java 8带有强大的lambda表达式,

我想编写一个函数,将字符串的列表/数组转换为整数,浮点数,双打等的数组/列表。

在普通的Java中,它就像

for(String str : strList){ intList.add(Integer.valueOf(str)); } 但是在给定要转换为整数数组的字符串数组的情况下,我如何使用lambda实现相同的功能。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 10:49:03 1389 0
1 条回答
写回答
取消 提交回答
  • 您可以创建辅助方法,该方法将使用上的操作T将类型的列表(数组)转换为类型的列表(数组)。Umapstream

    //for lists public static <T, U> List convertList(List from, Function<T, U> func) { return from.stream().map(func).collect(Collectors.toList()); }

    //for arrays public static <T, U> U[] convertArray(T[] from, Function<T, U> func, IntFunction<U[]> generator) { return Arrays.stream(from).map(func).toArray(generator); } 并像这样使用它:

    //for lists List stringList = Arrays.asList("1","2","3"); List integerList = convertList(stringList, s -> Integer.parseInt(s));

    //for arrays String[] stringArr = {"1","2","3"}; Double[] doubleArr = convertArray(stringArr, Double::parseDouble, Double[]::new); 请注意, s -> Integer.parseInt(s)可以将其替换为Integer::parseInt(请参见方法参考)

    2020-02-08 10:49:20
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载