fas*_*ava 11 java java-8 java-stream sonarqube
我有以下代码.Sonar抱怨用方法参考替换这个lambda.
Stream.iterate(0, i -> i + 1).limit(100).map(i -> Integer.toString(i));
Run Code Online (Sandbox Code Playgroud)
如果我用下面的代码替换它,它不会编译与编译错误:类型不匹配:无法转换Stream<Object>为<unknown>.
Stream.iterate(0, i -> i + 1).limit(100).map(Integer::toString);
Run Code Online (Sandbox Code Playgroud)
如何Integer::toString转换Stream<Object>到<unknown>?
你不能把Integer::toString因为Integer有两个适合功能接口的实现Function<Integer, String>,但你可以使用String::valueOf:
Stream.iterate(0, i -> i + 1)
.limit(100)
.map(String::valueOf)
.collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2188 次 |
| 最近记录: |