我创建了一个数组并尝试使用流来查找第一个奇数,如下所示:
int[] arr = new int[]{2, 4, 6, 8, 9, 12};
int oddOne = Stream.of(arr).filter(i -> i % 2 != 0).findFirst().get();
// fails above
Run Code Online (Sandbox Code Playgroud)
Error: | incompatible types: int[] cannot be converted to int
我究竟做错了什么?我该如何解决?
GBl*_*ett 10
你需要使用Arrays.stream():
Arrays.stream(arr).filter(i -> i % 2 != 0).findFirst().getAsInt();
Run Code Online (Sandbox Code Playgroud)
哪一个:
返回以
IntStream指定数组作为源的顺序.
截至目前,您正在使用重载方法Stream.of(T t),它只是:
返回
Stream包含单个元素的顺序.
所以它只是一个Stream单一的int[]
同样作为nullpointer指出,调用时get()不确保实际上会出现奇数Array会导致错误.orElse()如果不存在奇数,最好使用返回默认值
| 归档时间: |
|
| 查看次数: |
443 次 |
| 最近记录: |