Java:如何在开关盒中初始化 int 数组?

标签 java arrays oop initialization int

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

目前,我可以写:

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

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

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

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

最佳答案

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

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

关于Java:如何在开关盒中初始化 int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922489/

相关文章:

java - 计算出混合字符的校验和

java - 根据 if 语句更改字符串数组

c++ - 如何访问类的私有(private)数据成员中的方法/函数

php - 避免在 mysql 查询中进行硬编码

java - 从单独的线程制作 Toast 消息

java - 使用 Java 和 Cloud SQL 的 AppEngine 托管虚拟机

c - 拆分一个 char[] 并将值存储在不同的数组 C

c - 在 C 中取消分配二维数组

oop - 在sysadmin/Perl/Linux背景下“赢得” OO编程工作面试?

java - 确认在 couchbase 中上传文档