如何解决“Cannot switch on a value of type String for source level below 1.7. ”

在 IDEA 中运行一个新项目,执行到某个 JSP 页面时,出现以下错误:

Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

1 分析

因为 JDK 到 1.7 及以后的版本才支持在 switch 语句中使用 String 类型的值。

  1. 之前的JDK 版本虽然是 1.8,但编译的二进制码版本却是 1.6。
  2. Tomcat 用的是 7.x,而 Tomcat 必须从 8.x 及之后的版本,才能使用 JDK 1.7 的新特性。

Tomcat 各版本与 JDK 版本的对照表

2 解决

1、 修改 IDEA 的编译版本

Settings → Java Complier :

修改 Java 编译器设置

Project Structure → Project :

修改项目的 JDK 版本

2、升级 Tomcat 版本到 8.x 及以上

猜你喜欢

转载自blog.csdn.net/qq_41071754/article/details/110142587