我正在尝试编写一个简单的switch语句

0 java

我知道这不会编译并在此时运行.切换声明是对的吗?我确实得到了编译器错误:class,interface或enum expected

public class Fruit
{

  public static void main(String[] args)
  {

String choice = " ";

    switch(choice)
    {
    case " A ":  System.out.print(" Apple");
      break;

    case  " K ": System.out.println("Kiwi");
      break;

    case " P ": System.out.println("Pear");
      break;

    default: System.out.println("incorrect choice");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Jun*_*san 5

你所得到的错误,因为你必须要使用switch具有String与Java版本低于7 String的支持switch声明的Java 7中引入,因此你需要在同一版本或更高版本编译代码.

按照此技术说明了解有关使用String的开关的更多信息:

http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html

  • 根据我的经验,需要打开一个字符串是半罕见的.重新思考为什么要尝试打开字符串并考虑使用类似Enum的东西,这可能是谨慎的做法. (4认同)