从long到int的可能有损转换,JAVA

2022-01-13 00:00:00 int type-conversion long-integer java

I am trying to pass long value to the method and use it there to create a Long Array. However, I am getting "possible lossy conversion from long to int" error while creating an array

long[] array = new long[n];

although I have not used any integers values.

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;
  }
}

解决方案

Array dimensions can only be int types. The compiler is expecting that type but you are passing in a long type. You could change the argument type being passed in to an int and the make the corresponding changes.

For completeness, here is what the JLS says about variables in an array

they are referenced by array access expressions that use non-negative integer index values.

相关文章