Java 7 switch 语句与字符串不起作用
根据 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
虽然 JDT 团队确实实现了打开字符串功能,但对 Java 7 的支持Eclipse 3.7.1 之前不会出现:
请参阅 bug 288548 :
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:
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.
使用 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.