Вступить в клуб →
сложнаявопросKotlin: классы, коллекции и идиомы

Java-экран не видит Kotlin-метод аналитики с параметром по умолчанию

object Analytics {
    fun track(event: String, params: Map<String, String> = emptyMap()) { /* ... */ }
}

Из Kotlin работает Analytics.track("open_cart"). В старом Java-экране пишут Analytics.INSTANCE.track("open_cart"); — ошибка компиляции: метод ожидает два аргумента. Что сделать, чтобы Java-код вызывал метод с одним аргументом?

  • Пометить track аннотацией @JvmOverloads
  • Пометить track аннотацией @JvmStatic
  • Передавать из Java null вторым аргументом
  • Сделать params типа Map<String, String>?

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела