Haf*_*ani 4 java compiler-errors list gradle spring-boot
我正在使用带有 gradle 的 springboot 并且我试图在控制器中执行以下代码。
List<String> planets
    = List.of("Mercury", "Venus", "Earth", "Mars",
    "Jupiter", "Saturn", "Uranus", "Neptune");
编译时出现以下错误
错误:找不到符号 = List.of("Mercury", "Venus", "Earth", "Mars", ^ 符号:方法 of(String,String,String,String,String,String,String,String)
位置:接口列表
我的 gradle 文件有
源兼容性 = '1.8'
我知道它是一个 java 9 特性,但不确定为什么它会在编译时失败
List.of 不是 Java 9 特性,它是 JDK 9 中添加的一个方法。如果您使用的是 JDK 8,它只是不包含此方法,因此无法针对它进行编译。
简而言之 - 使用更新的 JDK(并在使用时将兼容性级别设置为 9,这样您就不会创建只能与更新的 JDK 一起使用的有效 Java 8 程序的混合)。
一个快速修复方法是List.of用Arrays.asListJDK 8 中的 which 进行替换。
请注意,这些方法并不完全相同,List.of返回一个不可变列表,而Arrays.asList返回一个可变列表。这里列出了一些其他差异:
List.of 和 Arrays.asList 有什么区别?
| 归档时间: | 
 | 
| 查看次数: | 1443 次 | 
| 最近记录: |