switch java中的字符串

时间:2011-09-27 04:51:43

标签: java java-7

switch(title)
   {
    case "Return":
          returnBooks();
          break;
  }
-source 1.6中不支持

开关中的字符串,使用-source 7或更高版本来启用开关中的字符串

所以,我已经安装了JDK7,为什么编译器显示此消息并在编译时出错?

我正在使用NetBeans

5 个答案:

答案 0 :(得分:15)

我不想这么说,但是:请阅读错误信息。它会告诉您 完全 问题是什么。

您正在以Java 6模式进行编译,而不是在Java 7模式下进行编译。如果您正在使用JDK 7附带的javac,正如错误消息所示,请使用-source 7标记:

> javac -source 7 {stuff here}

答案 1 :(得分:11)

用户查询的两个关键点:

  1. 已安装JDK7;及
  2. 使用Netbeans
  3. 所以,netbeans带有两个包:

    1. 使用JDK
    2. 表示安装Netbeans 7时,它会自动安装JDK 7并将JDK 7设置为默认库。

      1. 没有JDK
      2. 在安装NetBeans 7时,它在系统中找到了JDK,如果发现它也会自动配置库的路径,但会显示有关JDK7的路径和版本的信息。

        所有用户都尝试给出此查询的正确答案,但没有人能够以用户需要的正确方式回答,因为用户也使用Netbeans。

        继续 Hemal Pandya 的编辑版本,需要配置一件事,那就是

        RightClick on  Project > properties > and in the categories option select > source. see the  
        **Hemal Pandya** edit version to look at image, the source option is available above the   
        Libraries option.
        

        并且

        then select **Source/Binary Format** form bottom and set it to JDK 7 (= 1.7). this is the exact solution
        of user's post and I am 100% sure now String in swich will work
        

答案 2 :(得分:4)

在NetBeans中,转到项目的属性并将java平台更改为库中的java 7

答案 3 :(得分:2)

我找到了一个解决方案: 如果您使用的是Netbeans 7.1(甚至7.0),只需按照以下步骤操作即可: 右键单击项目 - >属性 - >来源 - > (在底部)源/二进制格式

只需选择JDK 7,就这样,您可以在switch中使用字符串!

答案 4 :(得分:1)

我不使用NetBeans,但似乎有一个默认为1.6的合规性开关。正如其他人所指出的那样,您必须找到该开关并将其设置为7。

编辑:我发现我找到了netbeans.org/kb/docs/java/project-setup.html#projects-jdk。您好像已经完成了注册jdk的第二步。但也许这不是默认的?按照说明切换标准项目的目标JDK。看图像似乎就在这个对话框中:

enter image description here