我正在尝试使用mapToInt
将整数转换为整数数组。现在,下面的代码在本地编译并为我工作,但是当我提交给LeetCode时,它给了我一个编译错误Line 29: error: invalid method reference
。第29行是我使用mapToInt
的地方。我无法弄清楚为什么LeetCode中存在编译错误而本地没有。
import java.util.*;
public class Solution {
public static void main(String[] args) {
int digits[] =
{
1,
9,
9,
9
};
plusOne(digits);
}
public static int[] plusOne(int[] digits) {
if (digits.length == 0) {
throw new IllegalArgumentException
("Array is empty!");
}
else {
int integer = 0;
for(int i = 0; i < digits.length; i++) integer += Math.pow(10,i) * digits[digits.length - i - 1];
integer = integer + 1;
int[] result = Arrays.stream(result).mapToInt(int::integer).toArray();
System.out.println(Arrays.toString(result));
System.out.println(Arrays.toString(digits));
return result;
}
}
}
更新:这也不再为我本地编译。我以前一定是弄错了。它现在在本地抛出cannot find symbol
错误。
答案 0 :(得分:1)
这是因为Arrays.stream(int[] array)
在此处返回IntStream
,其中没有mapToInt
函数。
使用简单的东西:
String[] array = Stream.of( ... ).toArray( String[]::new );