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

发布于 2024-11-13 10:59:26 字数 525 浏览 1 评论 0原文

根据 Java 教程,在 Java SE 7 及更高版本,您可以在 switch 语句的表达式中使用 String 对象。

String s = ...
switch(s){
    //do stuff
}

但这是真的吗?我已经安装了 JRE 并将其添加到 Eclipse 项目的构建路径中,但出现以下编译时错误:

无法打开类型值 细绳。仅可转换 int 值或 允许使用枚举常量

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

有什么想法吗?

According to The Java Tutorials, in Java SE 7 and later, you can use a String object in the switch statement's expression.

String s = ...
switch(s){
    //do stuff
}

But is this true? I've installed the JRE and added it to the build path of my Eclipse project, but I'm getting the following compile-time error:

Cannot switch on a value of type
String. Only convertible int values or
enum constants are permitted

Also, I think I've got it configured correctly since I was able to use its java.nio.file.Files class, as well as JLayer.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

指尖微凉心微凉 2024-11-20 10:59:26

虽然 JDT 团队确实实现了打开字符串功能,但对 Java 7 的支持Eclipse 3.7.1 之前不会出现:

请参阅 bug 288548 :

由于 JSR-292(Invoke Dynamic)和 JSR-334(Project Coin)的可用性较晚
并且由于Java 7的正式发布日期(2011年7月28日)在3.7之后
发布后,我们不得不将 Java 7 支持推迟到 3.7.1。尚未决定
这将作为 3.7.1 下载的一部分提供还是单独提供
功能更新。

Java 7 功能的工作目前正在“BETA_JAVA7”中进行
分支,我们将为稳定版本提供单独的更新,以便
为感兴趣的各方提供对 Java 7 功能的早期访问。

While it is true that the JDT team has implemented the Switch on String feature, the support for Java 7 won't be before Eclipse 3.7.1:

See bug 288548:

Due to late availability of JSR-292 (Invoke Dynamic) and JSR-334 (Project Coin)
and due to the official release date (July 28, 2011) of Java 7 being after 3.7
ships we had to defer the Java 7 support to 3.7.1. It has not yet been decided
whether this will be available as part of the 3.7.1 downloads or as separate
feature update.

The work for the Java 7 features is currently in progress in the 'BETA_JAVA7'
branch and we will deliver separate updates for the stable builds in order to
provide early access to the Java 7 features for interested parties.

风流物 2024-11-20 10:59:26

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

Eclipse doesn't support yet compilation on JDK 7, for try the new feature you need to use NetBeans 7 or compile with standard javac compiler in the bundle of the JDK 7 by hand or with the help of an ant script.

很酷又爱笑 2024-11-20 10:59:26

使用 Eclipse 3.8(第一个里程碑是几天前出现的)。不要忘记将编译器设置设置为 Java 7。

Use Eclipse 3.8 (first milestone came some days ago). Don't forget to set the compiler settings to Java 7.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文