gpt4 book ai didi

java - lambda 表达式中的 Math.toIntExact?

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:47 25 4
gpt4 key购买 nike

我正在学习 lambda 表达式。给定一个名称列表,我想计算以 N 开头的名称的数量。

我这样做了:

final static List<String> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott");

public static int countFriendsStartWithN() {
return Math.toIntExact(friends
.stream()
.filter(name -> name.startsWith("N"))
.count());
}

对 count 方法的调用返回一个原始的 long 但我想要一个 int
我使用 Math.toIntExactlong 值作为 int 获取。

是否可以直接在 lambda 表达式中获取 int 值?

最佳答案

不,不可能将对 toIntExact 的调用放入您的方法调用链,您的流管道。这是因为count 是一个终端操作 并返回一个原语long,在该原语上不可能有任何方法调用。终端操作是结束流管道并产生结果(或副作用)的操作。

所以我相信您能做的最好的事情就是使用您已有的代码。恕我直言,没关系。

关于java - lambda 表达式中的 Math.toIntExact?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53333790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com