Java字符串開關(switch用法)

開關表達式(switch-expression)使用String類型。 如果switch-expressionnull,則拋出NullPointerException

大小寫標籤必須是字符串文字。不能在 case 標籤中使用String變量。
以下是在switch語句中使用String的示例。

public class Main {
  public static void main(String[] args) {
    String status = "off";
    switch (status) {
    case "on":
      System.out.println("Turn on"); 
    case "off":
      System.out.println("Turn off");
      break;
    default:
      System.out.println("Unknown command");
      break;
    }
  }
}

上面的代碼生成以下結果。

Turn off

switch比較

String類的equals()方法執行區分大小寫的字符串比較。

public class Main {
    public static void main(String[] args) {
        operate("on");
        operate("off");
        operate("ON");
        operate("Nothing");
        operate("OFF");
        operate("No");
        operate("On");
        operate("OK");
        operate(null);
        operate("Yes");
    }

    public static void operate(String status) {
        // Check for null
        if (status == null) {
            System.out.println("status  cannot be  null.");
            return;
        }
        status = status.toLowerCase();
        switch (status) {
        case "on":
            System.out.println("Turn on");
            break;
        case "off":
            System.out.println("Turn off");
            break;
        default:
            System.out.println("Unknown command");
            break;
        }
    }
}

上面的代碼生成以下結果。

Turn on
Turn off
Turn on
Unknown command
Turn off
Unknown command
Turn on
Unknown command
status  cannot be  null.
Unknown command