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

Scala构建报错‘Public method must have explicit type’的解决咨询

解决Scala中"Public method must have explicit type"报错
  • 问题原因:Scala编译器要求公共方法必须显式声明返回类型——private方法可以依赖自动类型推断,但public方法属于类/特质的对外接口,必须明确返回类型以保证接口稳定性和可读性。

  • 解决步骤:

    1. 确定primaryKey方法的返回类型:可以通过IDE的类型提示(比如IntelliJ鼠标悬停在primaryKey上查看),或者借助编译报错信息(先尝试添加占位符类型,编译器会给出预期的具体类型)。
    2. 在方法定义中补充返回类型,格式为def 方法名: 返回类型 = 实现代码。
  • 示例修改:
    假设primaryKey返回的是PrimaryKey类型(比如Slick框架中的常见情况),修改后的代码如下:

def pk: PrimaryKey = primaryKey("passive_prompts_primary_key", (uuid, promptType, trigger))
  • 小技巧:如果不确定返回类型,可以先写def pk: _ = ...,编译时编译器会抛出类似missing parameter type的错误,并提示预期的具体类型,直接替换成该类型即可。

内容的提问来源于stack exchange,提问作者Ahmed Wasim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:06:01