java - 开关内的数组

标签 java arrays switch-statement

我想问是否有人知道如何在不同情况下使用不同值的开关中的相同数组而不会出错。 我有这个代码:

    String [] measures;

        switch(option){
                    case "Distance":
                        measures= {"Quilometers(km)", "Meters(m)"};
                        break;
                    case "Temperature":
                        measures= {"Celsius(ºC)", "Fahrenheit(ºF), "Kelvin(K)"};
                        break;
(...)

我收到错误“此处不允许数组初始值设定项”,其中有measure={...}

但是如果我更改代码并在每个案例中写入,

String [] measures= {...}

我收到错误“变量度量已在范围中定义”。 你能帮忙吗?

最佳答案

当您未声明变量时,无法仅使用大括号 {} 来初始化数组。但您无法重新声明 measures,因为它已在同一 block 中声明。

您需要在大括号之前显式使用new String[]。尝试一下

measures = new String[] {"Quilometers(km)", "Meters(m)"};

对于您的其他案例也是如此。

关于java - 开关内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246932/

相关文章:

java - 复制文件的文件创建日期java nio

java - 使用 Java 访问 .tar 文件中的 Java 文件

java - Java 和 Bellman-Ford 中的加权有向图实现

javascript - AngularJS 使用 ng-repeat 数组键通过过滤器进行更改

java - 如何在java中使用扫描仪处理奇怪的输入

javascript switch 中断检测到无法访问的代码

java - Java中synchronized语句的静态锁对象

javascript - 如何使用 JavaScript 中的 for 循环列出数组中的项目?

javascript - 如何更改具有特定 url 的所有 href?

c++ - 在 Switch-Case 函数中结合连续循环