switch(title)
{
case "Return":
returnBooks();
break;
}
-source 1.6中不支持开关中的字符串,使用-source 7或更高版本来启用开关中的字符串
所以,我已经安装了JDK7,为什么编译器显示此消息并在编译时出错?
我正在使用NetBeans
答案 0 :(得分:15)
我不想这么说,但是:请阅读错误信息。它会告诉您 完全 问题是什么。
您正在以Java 6模式进行编译,而不是在Java 7模式下进行编译。如果您正在使用JDK 7附带的javac
,正如错误消息所示,请使用-source 7
标记:
> javac -source 7 {stuff here}
答案 1 :(得分:11)
用户查询的两个关键点:
所以,netbeans带有两个包:
表示安装Netbeans 7时,它会自动安装JDK 7并将JDK 7设置为默认库。
在安装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。看图像似乎就在这个对话框中: