fiz
fiz

Reputation: 399

Possible lossy conversion from long to int, 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;
  }
}

Upvotes: 3

Views: 6419

Answers (1)

Reimeus
Reimeus

Reputation: 159754

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.

Upvotes: 6

Related Questions