【问题标题】:Switch statement is not accepting String variableSwitch 语句不接受字符串变量
【发布时间】:2015-01-28 08:17:47
【问题描述】:

谁能告诉我为什么 switch 语句不能识别gat String 变量。 IDE 告诉我 primitiverequired (int, char, short ....),但它找到了一个字符串。

String gat = temp[i];

switch (gat) {
    case "a":
        output[i] = 12 * k;
        break;
    case "b":
        output[i] = 23 * k;
        break;
    case "c":
        output[i] = 34 * k;
        break;
}

【问题讨论】:

标签: java string switch-statement


【解决方案1】:

您的项目合规级别设置为 Java 6 或更早版本,您不能使用 String 作为 Java 7 之前的案例标签。但是,对于您的问题,您可以使用 charAt(0)

String gat=temp[i];
switch (gat.charAt(0))
{
case 'a':
    output[i] = 12 * k;
    break;
case 'b':
    output[i] = 23 * k;
    break;
case 'c':
    output[i] = 34 * k;
    break;
}

【讨论】:

    【解决方案2】:

    如果您使用的是 NetBeans,请确保您拥有最新的 JDK 版本。 如果您使用的是 Eclipse,请使用最新的 JDK 版本,并在 Java 设置中将编译器的合规级别设置为 1.7。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多