My codebase - это смешанный код java и kotlin. Я хотел бы использовать метод @JvmOverloads для интерфейса с аргументами по умолчанию. Как что:Как использовать @jvmoverloads с интерфейсом в Kotlin
@JvmOverloads
fun getClientCompanyId(clientId: Long, date: DateTime = DateTime.now()): Long
Я не могу сделать это, к сожалению, и я получаю сообщение, что:
JvmOverloads не могут быть использованы по методам интерфейса
Однако, если я использую его на переопределены функции, то я получаю
Столкновение с объявлением платформы. Следующие объявления имеют одинаковые JVM s IGNATURE (getClientCompanyId (JLorg/Joda/время/DateTime;) J):
открытым
- @JvmOverloads общественного весело getClientCompanyId (ClientId: Длинные, дата: DateTime = ...): Long
- @JvmOverloads общественности с открытым весело getClientCompanyId (ClientId: Длинная, дата: DateTime = ...): Long
и только для записи: когда я пытаюсь поставить значение по умолчанию в перегруженном методе, который я получаю сообщение, что:
Функция переопределения не позволяет указывать значения по умолчанию для своих параметров
Возможно ли это сделать в котлин? Спасибо за ответы на все вопросы.
Я столкнулся с той же проблемой, вы когда-нибудь находили лучшее решение? – BlackCat
Насколько я знаю, нет ни одного – xklakoux