长声明时出错

时间:2014-12-28 12:16:19

标签: java

long no=Long.parseLong(br.readLine());
long [] a=new Long[(int)no];

但我得到错误:

Incompatible types
found: java.lang.Long[]
requierd:long

3 个答案:

答案 0 :(得分:3)

更改

long [] a=new Long[(int)no];

Long [] a=new Long[(int)no];

long [] a=new long[(int)no];

没有从原始数组到数组盒装版本的自动转换,反之亦然。

答案 1 :(得分:0)

new Long[替换为new long[。这就是你在Java中声明long(数组与否)的方式。

答案 2 :(得分:0)

长与龙不一样。 long是原始的,而Long是一个类。所以你应该做的事情是:

Long [] a=new Long[(int)no];

OR

long [] a=new long[(int)no];

注意:如果长数超出整数范围,那么你的类型转换将导致负数大小,因此你会得到NegativeArraySizeException并进入问题。