gpt4 book ai didi

java - 使用 Stream 从 int[] 数组中查找奇数

转载 作者:搜寻专家 更新时间:2023-11-01 01:04:42 26 4
gpt4 key购买 nike

我创建了一个数组并尝试使用流来查找第一个奇数,如下所示:

int[] arr = new int[]{2, 4, 6, 8, 9, 12};
int oddOne = Stream.of(arr).filter(i -> i % 2 != 0).findFirst().get();
// fails above

Error: | incompatible types: int[] cannot be converted to int

我做错了什么?我该如何解决这个问题?

最佳答案

您需要使用 Arrays.stream() :

Arrays.stream(arr).filter(i -> i % 2 != 0).findFirst().getAsInt();

哪个:

Returns a sequential IntStream with the specified array as its source.

截至目前,您正在使用重载方法 Stream.of(T t)这很简单:

Returns a sequential Stream containing a single element.

所以它只会是单个 int[]

Stream

另外,正如 nullpointer 指出的那样,在未确保 Array 中确实存在奇数的情况下调用 get() 将导致错误。如果不存在奇数,最好使用 orElse() 返回默认值

关于java - 使用 Stream 从 int[] 数组中查找奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909019/

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