有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Switch语句不接受字符串变量

有人能告诉我为什么switch语句不能识别gat字符串变量吗。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;
}

共 (2) 个答案

  1. # 1 楼答案

    您的项目符合性级别设置为Java 6或更早版本,您不能在Java 7之前使用String作为案例标签。但是,对于你的问题,你可以使用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. # 2 楼答案

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