LeetCode使用mapToInt编译错误,在本地工作

时间:2017-07-01 19:03:03

标签: java

我正在尝试使用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错误。

1 个答案:

答案 0 :(得分:1)

这是因为Arrays.stream(int[] array)在此处返回IntStream,其中没有mapToInt函数。

使用简单的东西:

String[] array = Stream.of( ... ).toArray( String[]::new );