繁体   English   中英

switch java中的字符串

[英]String in switch java

switch(title)
   {
    case "Return":
          returnBooks();
          break;
  }

-source 1.6中不支持switch中的字符串,使用-source 7或更高版本来启用switch中的字符串

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

我正在使用NetBeans

我讨厌说出来,但是: 阅读错误信息。 它告诉你究竟是什么问题。

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

> javac -source 7 {stuff here}

用户查询的两个关键点:

  1. 已经安装了JDK7;和
  2. 使用Netbeans

因此,netbeans带有两个包:

  1. 使用JDK

意味着在安装Netbeans 7时它会自动安装JDK 7并将JDK 7设置为默认库。

  1. 没有JDK

在安装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

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

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

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

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

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

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM