使用Switch和字符串java

时间:2014-11-29 21:11:42

标签: java

我听说你可以使用开关字符串,但我没有让它工作。在这种情况下ToDo将是一个用户输入String,但我的编译器告诉我" int不能转换为String"。 任何人都可以告诉我我做错了什么吗?

class Comands {
  public Comands () {} 

  public void doSomething (String toDo){

    while (!(toDo.equals("quit"))) {
      switch (toDo) {
        case 1: toDo.equals("right");
        System.out.println("go right");
        break;

        case 2: toDo.equals("left");
        System.out.println("go left");
        break;
      }
    }
  }
}

2 个答案:

答案 0 :(得分:3)

就像提到的@Hovercraft Full Of Eels一样,你在case 1:比较你的字符串和整数,这应该包含这样的字符串:

...
case "left":
    // sysout();
    break;
case "right":
    // sysout();
    break;
...

答案 1 :(得分:1)

 switch (toDo) {
    case "right":
    System.out.println("go right");
    break;

    case "left":
    System.out.println("go left");
    break;
  }

注意:仅在Java SE 7及更高版本中,您可以在switch语句的表达式中使用String对象。

更多信息here