是否可以在Java中动态地使用“java.lang.reflect.Array”动态初始化数组?

时间:2015-06-22 10:36:29

标签: java arrays

我想动态初始化一个具有用户指定大小的数组。

3 个答案:

答案 0 :(得分:2)

如果要将数组初始化为用户指定的大小,只需使用变量作为大小。

int size = 3;
int[] array = new int[size];

答案 1 :(得分:2)

试试这个:

public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter the size of your array:");
    int arraySize = sc.nextInt();

    int[] yourArray = new int[arraySize];
    //Do something with your array
}

请注意,这不会检查无效输入。您应该添加检查以确认输入实际上是正面整数

答案 2 :(得分:0)

是的,你可以使用java.lang.reflect.Array类来创建一个数组。 请参阅以下代码,我们可以在其中创建一个int数组。

int[] intArray = (int[]) java.lang.reflect.Array.newInstance(int.class, 5);

第一个参数是数组中每个元素的类型。 第二个参数表示数组中的元素数。