我正在使用带有 gradle 的 springboot 并且我试图在 Controller 中执行以下代码。
List<String> planets
= List.of("Mercury", "Venus", "Earth", "Mars",
"Jupiter", "Saturn", "Uranus", "Neptune");
编译时出现以下错误error: cannot find symbol = List.of("Mercury", "Venus", "Earth", "Mars", ^ symbol: method of(String,String,String,String,String,String,String,String)
location: interface List
我的 gradle 文件有
sourceCompatibility = '1.8'
我知道它是一个 java 9 特性,但不确定为什么它会在编译时失败
最佳答案
List.of
不是 Java 9 特性,它是 JDK 9 中添加的一个方法。如果您使用的是 JDK 8,它只是不包含此方法,因此无法针对它进行编译。
简而言之 - 使用更新的 JDK(并在使用时将兼容性级别设置为 9,这样您就不会创建只能与更新的 JDK 一起使用的有效 Java 8 程序的混合)。
关于java - List.of 给出错误 : cannot find symbol error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63534298/