我最近在我的Ubuntu上安装了Java SE 7并尝试使用switch on string编译代码但是无法做到这一点。我从命令行编译。为什么呢?
java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b146)
Java HotSpot(TM) Server VM (build 21.0-b16, mixed mode)
incompatible types
found : java.lang.String
required: int
switch(attributes.getValue("tod")){
^
1 error
答案 0 :(得分:8)
验证您的java编译器版本:
javac -version
^
答案 1 :(得分:0)
它不是编译器的问题,但它的类型转换问题,你很清楚类型转换,只需在eclipse中检查你的程序并运行程序。 检查此方法以在switch statement-attributes.getValue(“tod”)中获取正确的整数值。 User System.out.println(attributes.getValue(“tod”));并且您将获得有关切换中传递值的正确信息。