2015-01-01 30 views
4

我想将long value传递给该方法,并在那里使用它来创建一个Long Array。然而, 我“从长期可能有损转换成int”得到错误,同时创建一个数组从long到int的可能的有损转换,JAVA

long[] array = new long[n]; 

虽然我没有使用任何整数值。

import java.util.Scanner; 
import java.util.ArrayList; 

public class test{ 
public static void main(String[] args){ 
    Scanner input = new Scanner(System.in); 
    long n = input.nextLong(); 

    System.out. although("result is " + n + " is " + testing(n)); 
} 

private static long testing(long n){ 
    long[] array = new long[n]; 

    return 0; 
    } 
} 
+0

return 0?为什么? – nha

+0

我只是想了解我在线上的错误long [] array = new long [n];剩下的只是演示代码 – fiz

回答

5

数组尺寸只能是int类型。编译器期待这种类型,但是你传入一个long类型。您可以将传入的参数类型更改为int并进行相应的更改。

为了完整起见,这里是什么JLS说,大约在一个阵列

它们被使用非负整数指数数值数组访问表达式引用的变量。

相关问题