java string.contains in switch 语句

2022-09-02 09:04:48

如何将以下代码转换为 switch 语句?

String x = "user input";

if (x.contains("A")) {
    //condition A;
} else if (x.contains("B")) {
    //condition B;
} else if(x.contains("C")) {
    //condition C;
} else {
    //condition D;
}

答案 1

有一种方法,但不使用.你需要一个正则表达式。contains

final Matcher m = Pattern.compile("[ABCD]").matcher("aoeuaAaoe");
if (m.find())
  switch (m.group().charAt(0)) {
  case 'A': break;
  case 'B': break;
  }

答案 2

在这样的条件下,您不能这样做。Java 7支持字符串,但不像你想要的那样。使用等switchx.contains()switchif