java - IntStream rangeClosed 无法返回 int 以外的值
问题描述
为什么会出现错误?我认为map
可以返回任何值。
var s = IntStream.rangeClosed(1, 5).map(String::valueOf).collect(Collectors.toList());
| 错误:| 不兼容的类型:方法参考中的错误返回类型 | java.lang.String 无法转换为 int | var s = IntStream.rangeClosed(1, 5).map(String::valueOf).collect(Collectors.toList()); |
^--------------^
解决方案
使用mapToObj:
var s = IntStream.rangeClosed(1, 5).mapToObj(String::valueOf).collect(Collectors.toList());
map ofIntStream
只能将一个int
值映射到另一个int
值。它接受一个IntUnaryOperator
(接受一个int
并返回一个int
)作为映射器函数,并返回一个IntStream
。
另一方面,mapToObj
允许您将int
值映射到任何引用类型,从而将 转换IntStream
为Stream<SomeReferenceType>
. 它接受一个IntFunction<? extends U>
(接受一个int
并返回一个引用类型)作为映射器函数,并返回一个Stream<U>
.
推荐阅读
- wpf - Powershell WPF 防止 UI 冻结
- python - 在构建 python rpm 包时,shebang 更改为 /usr/libexec/platform-python
- next.js - NextJS 使用通配符查询字符串参数重写
- azure - 带有 docker 的 Azure Functions:如何更改端口?
- eclipse - “远程系统”视图在哪里消失了,或者是否有等价物?
- python - Python ModuleNotFoundError:没有名为“pandas_datareader”的模块
- r - R:地理距离的分割应用组合
- javascript - 如何使用 axios 响应数据设置状态
- windows - (KMDF) 如何将 Ioctls 从内核模式发送到 Physicaldrives
- r - 带有 alpha 参数的 RMarkdown 图