You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java代码运行报错The target type of this expression must be a functional interface

报错提示:The target type of this expression must be a functional interface
问题代码:

return Arrays.asList(dataSet.getTableNames()).toArray(String[]::new);
报错原因
  • List.toArray(IntFunction<T[]>)是JDK 11才新增的重载方法,若你的项目编译、运行环境使用的JDK版本低于11,List接口不存在接收函数式接口参数的toArray实现,编译器无法为方法引用String[]::new匹配到对应的函数式接口目标类型,因此触发该报错。
  • 极小概率为你导入的Arrays.asList返回的List并非标准java.util.List实现,不支持该重载,该场景出现概率极低,绝大多数情况为JDK版本不匹配导致。
解决方法

可根据你的项目约束二选一:

方案1:升级JDK版本到11及以上

调整项目的编译、运行环境JDK版本为11或更高版本,原有代码无需修改即可正常执行。

方案2:兼容低版本JDK(JDK 8及以下)

替换为旧版toArray的入参写法即可:

return Arrays.asList(dataSet.getTableNames()).toArray(new String[0]);

内容的提问来源于stack exchange,提问作者shubhendu shukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:45:02