List.of给出错误:找不到符号错误

问题描述

我正在使用带有gradle的springboot,并且试图在控制器中执行以下代码

List<String> planets
    = List.of("Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune");

编译时出现以下错误

错误:找不到符号 = List.of(“ Mercury”,“ Venus”,“ Earth”,“ Mars”, ^符号:(String,String,String,String,String,String,String,String,String)的方法
位置:界面列表

我的gradle文件

sourceCompatibility ='1.8'

我确实知道它具有Java 9功能,但不确定为什么编译失败

解决方法

List.of不是Java 9功能,它是JDK 9中添加的方法。如果您使用的是JDK 8,则它不包含此方法,因此无法针对它。

简而言之-使用较新的JDK(将兼容级别设置为9,这样就不会创建只能与较新JDK一起使用的有效Java 8程序的混合)。