Java:如何在switch案例中初始化int数组?

Ton*_*nov 5 java arrays oop int initialization

如何在Java中初始化整数数组,如下所示:int[] array = {1,2,3};在switch语句中?

目前,我可以写:

switch(something) {
    case 0: int[] array = {1,2,3}; break;
    default: int[] array = {3,2,1};
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问array变量时,eclipse会抱怨它可能没有被初始化.

如果我尝试声明它int[] array;或者int[] array = new int[3];然后使用switch语句,它会说我正在尝试重新声明它.

我该如何解决这个问题?最后的想法是能够基于某些逻辑(switch语句)在一行代码中初始化一个包含10个值的数组.

Mar*_*ers 15

在switch语句之前放置声明.您还需要显式实例化正确类型的数组.

int[] array;
switch (something) {
    case 0: array = new int[] {1, 2, 3}; break;
    default: array = new int[] {3, 2, 1};
}
Run Code Online (Sandbox Code Playgroud)