字符串不起作用的Java 7 switch语句

字符串不起作用的Java 7 switch语句,java,eclipse,string,switch-statement,java-7,Java,Eclipse,String,Switch Statement,Java 7,根据,在和更高版本中,可以在switch语句的表达式中使用String对象 String s = ... switch(s){ //do stuff } 但这是真的吗?我已经安装了JRE并将其添加到Eclipse项目的构建路径中,但我遇到了以下编译时错误: 无法打开类型为的值 一串仅可转换的int值或 允许使用枚举常量 另外,我认为我已经正确地配置了它,因为我能够使用它的java.nio.file.Files类以及JLayer 有什么想法吗?Eclipse还不支持JDK 7上的编译,因

根据,在和更高版本中,可以在switch语句的表达式中使用String对象

String s = ...
switch(s){
    //do stuff
}
但这是真的吗?我已经安装了JRE并将其添加到Eclipse项目的构建路径中,但我遇到了以下编译时错误:

无法打开类型为的值 一串仅可转换的int值或 允许使用枚举常量

另外,我认为我已经正确地配置了它,因为我能够使用它的
java.nio.file.Files
类以及
JLayer


有什么想法吗?

Eclipse还不支持JDK 7上的编译,因为您需要尝试使用NetBeans 7的新功能,或者手动或借助ant脚本使用JDK 7捆绑包中的标准javac编译器进行编译。

虽然JDT团队已经实现了,Eclipse 3.7.1之前不会支持Java 7:

见:

由于JSR-292(调用动态)和JSR-334(项目Coin)的延迟可用性 由于Java7的正式发布日期(2011年7月28日)在3.7之后 我们不得不将Java7支持推迟到3.7.1。还没有决定 这将作为3.7.1下载的一部分提供,还是单独提供 功能更新

Java 7特性的工作目前正在“BETA_JAVA7”中进行 我们将为稳定版本提供单独的更新,以便 为相关方提供对Java 7功能的早期访问


使用Eclipse3.8(第一个里程碑是几天前出现的)。别忘了将编译器设置设置为Java 7。

您最近有启用Java 7的Eclipse IDE吗?您使用的是哪个版本?Eclipse自带了自己的Java编译器!是的,试着在Eclipse之外编译它,看看它是否有效。@Daniel,我想我在IDE方面很幼稚。我认为,使用适当的JRE配置构建路径将使事情变得更清楚,因为jdk7的特定特性是使用Eclipse编译和运行的。我想当这个特性没有编译/运行时,我只是措手不及。我希望您不是在挖苦人……因为Eclipse支持类的部分编译,并且即使单个函数包含编译错误也会创建有效的类文件,所以它只需要自己的编译器。此外,Eclipses编译器支持增量编译等。只需使用最新的eclipse版本,您就完成了。3.7.1的发布日期?同一天?@Bart:2个月后,见“GA:9/23/2011(9月的第四个星期五)”?哎哟哦,好吧,我就用测试版。