[英]switch-case in Java 1.8 with Eclipse not possible?
我已经重新安装了Java 8,并获得了一个全新的Eclipse版本。
如果我编写以下代码:
String a = "001100";
switch(a) {
case "5": a = "25"; break;
default: System.exit(0);
}
然后Eclipse在开关括号中的红色下划线“ a”,并说“将项目合规性和JRE更改为1.7”。 我没有尝试过此操作,因为我正在使用Java 1.8,这应该可以工作吗? 我不想使用Java 1.7。
我的Eclipse正在使用Java 1.8(也是该项目)进行设置。 设置中没有更低的Java版本。
问题出在哪儿?
根据此答案 ,自JDK7起就实现了字符串切换,因此应切换到1.7兼容性。 据我了解,这不是“切换回”您的Java版本,而是使您能够使用这些1.7功能。
问题很可能是您的语言级别设置为低于Java 1.7。 它与项目使用的JRE版本不同。 尝试在项目设置中找到语言级别,并将其设置为Java或Java 7,以使String上的此开关起作用
您的Eclipse使用的Java SDK版本低于1.7。 在Eclipse中检查您的Java编译器级别:
Windows>首选项> Java>编译器>编译器合规性级别
您必须为Eclipse设置默认的JDK版本,以使所有项目都在默认的JDK版本eclipse中创建。
要知道如何在Eclipse中设置默认的JDK版本, 请单击此处
switch语句中的字符串仅在JDK 1.7之后可用
https://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html
您需要检查Java编译器级别并将其更改为JDK 1.8或1.7。
(右键单击项目,转到首选项,然后查找“ Java Compiler”并更改“ Compiler Compliance Level”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.