使用长变量作为其大小创建长数组时,会混淆错误

时间:2016-09-20 05:51:21

标签: java performance

我的程序需要处理非常大的数字作为输入,所以我选择了long。当我使用array类型的变量创建long类型long作为其大小时出错。有人可以提供一些关于这里出了什么问题的见解吗?

错误:

long[] Arr = new long[n];
                      ^    //incompatible types: possible lossy conversion from long to int

代码:

private static long foo(long n, long m) {
  if (n <= 1) return n;
  long[] Arr = new long[n];
  return 0;
}

2 个答案:

答案 0 :(得分:2)

看起来var movVideo = { uri: uriFromCameraRoll, type: 'video/quicktime', name: 'something.mov', }; var body = new FormData(); body.append('video', movVideo); body.append('title', 'A beautiful video!'); fetch('https://mysite/upload_asset', { method: "POST", headers: { 'Accept': 'application/json', 'Content-Type': 'multipart/form-data' }, body: body, }).then((response) => response.json()) .then((responseJson) => { //only the first frame of the video got uploaded console.log(responseJson); }); 的类型为Long。但是数组的长度只能是n

答案 1 :(得分:1)

如果您需要在程序中处理非常大的数字,请考虑使用BigInteger或BigDecimal类型。这些类型没有理论限制,可根据需要分配大量内存。因此它仅限制可用内存量。