当前位置:  开发笔记 > 编程语言 > 正文

如何在Kotlin中使用带有接口的@jvmoverloads

如何解决《如何在Kotlin中使用带有接口的@jvmoverloads》经验,为你挑选了0个好方法。

我的代码库是混合java和kotlin代码.我想在接口方法上使用@JvmOverloads和默认参数.像那样:

@JvmOverloads
fun getClientCompanyId(clientId: Long, date: DateTime = DateTime.now()): Long

不幸的是我不能这样做,我得到的信息是:

JvmOverloads不能用于接口方法

但是,如果我在重写函数上使用它,那么我得到

平台声明冲突:以下声明具有相同的JVM签名(getClientCompanyId(JLorg/joda/time/DateTime;)J):

@JvmOverloads public open fun getClientCompanyId(clientId:Long,date:DateTime = ...):Long

@JvmOverloads public open fun getClientCompanyId(clientId:Long,date:DateTime = ...):Long

并且仅用于记录:当我尝试将默认值放在重写方法中时,我得到以下消息:

不允许覆盖函数在其参数上指定默认值

在kotlin做一件事可能吗?感谢所有的答案.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有