繁体   English   中英

使用Lambda Java转换列表类型

[英]converting List type with Lambda Java

如果我有一个表达:

  / List<Long> /                   / List<String> /
s.getPhones().addAll(Arrays.asList(rs.getString("phones").split(",")));

我可以使用Java Lambda转换带有Long.parseLong的类型并以不带“ for循环”的形式转换吗? 甚至即使使用for循环,它也会变得更加“无代码”。

看起来如何?

您可以将List<String>转换为Stream ,将元素映射到Long ,然后将它们收集回到适合传递给s.getPhones() addAllList<Double>上。 由于有方法参考,因此不需要lambda表达式,但是使用流可以使此操作更加容易。

s.getPhones().addAll(
    Arrays.asList("123,456,789".split(","))
        .stream()
        .map(Long::valueOf)  // You could use: (s -> Long.valueOf(s))
        .collect(Collectors.toList()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM