3 java arrays lambda java-8 java-stream
我正在创建一个简单的类,它接受一个字符串数组并返回一个整数数组,其中包含每个字符串的长度.我正在尝试使用Java 8 Stream API来完成它.
public int[] findMostSimilar(String[] words) {
return Arrays.stream(words).map(n -> n.length()).toArray();
}
Run Code Online (Sandbox Code Playgroud)
但是流本身会出现错误
不兼容的类型,必需:int [],found:java.lang.Object [].
任何想法如何实现我想要的?
首先让我们看看为什么你的尝试不起作用:
Arrays.stream(words).map(n -> n.length()).toArray();
Run Code Online (Sandbox Code Playgroud)
上述声明返回Object[].你可以使用.toArray(Integer[]::new);,然后这将返回Integer[]
相反,你可以使用mapToInt:
int[] array = Arrays.stream(words).mapToInt(String::length).toArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |