Java8流map()函数中的附加括号

2023-12-13

我正在 Java8 中工作/测试流,遇到了非常令人沮丧的问题。 我得到了编译良好的代码:

        List<String> words = Arrays.asList("Oracle", "Java", "Magazine");
    List<String> wordLengths = words.stream().map((x) -> x.toUpperCase())
        .collect(Collectors.toList());

第二个(几乎相同)发出警告:

        List<String> words = Arrays.asList("Oracle", "Java", "Magazine");
    List<String> wordLengths = words.stream().map((x) -> {
        x.toUpperCase();
    }).collect(Collectors.toList());

Warning:

The method map(Function<? super String,? extends R>) in the type Stream<String> is not applicable for the arguments ((<no type> x) -> {})

这个额外的括号改变了什么?


您的 lambda 表达式返回一个值。如果使用括号,则需要向 lambda 函数添​​加 return 语句:

List<String> words = Arrays.asList("Oracle", "Java", "Magazine");
List<String> wordLengths = words.stream().map((x) -> {
    return x.toUpperCase();
}).collect(Collectors.toList());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java8流map()函数中的附加括号 的相关文章

随机推荐