【发布时间】:2023-03-16 02:39:01
【问题描述】:
根据The Java Tutorials,在Java SE 7 及更高版本中,您可以在switch 语句的表达式中使用String 对象。
String s = ...
switch(s){
//do stuff
}
但这是真的吗?我已经安装了 JRE 并将其添加到我的 Eclipse 项目的构建路径中,但是我收到了以下编译时错误:
无法打开类型的值 细绳。仅可转换的 int 值或 允许使用枚举常量
另外,我认为我已经正确配置了它,因为我能够使用它的 java.nio.file.Files 类以及 JLayer。
有什么想法吗?
【问题讨论】:
-
您是否有最新的、支持 Java 7 的 Eclipse IDE?您使用的是哪个版本? Eclipse 自带 Java 编译器!
-
是的,尝试在 Eclipse 之外编译它,看看它是否有效。
-
@Daniel,我想我对 IDE 很幼稚。我认为使用适当的 JRE 配置构建路径可以解决问题,因为 jdk7 特定的功能正在使用 Eclipse 进行编译和运行。我想当这个功能也没有编译/运行时,我只是措手不及。我希望你不是在讽刺......
-
由于 Eclipse 支持类的部分编译,并且即使单个函数包含编译错误也会创建有效的类文件,它只需要自己的编译器。另外,Eclipses编译器支持增量编译等,使用最新的eclipse版本即可。
标签: java eclipse string switch-statement java-7