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

Обобщённый разбор JSON не компилируется на T::class.java

fun <T> Gson.parse(json: String): T =
    fromJson(json, T::class.java)

Хотели писать gson.parse<Order>(body) вместо gson.fromJson(body, Order::class.java). Компилятор ругается: Cannot use 'T' as reified type parameter. Как исправить?

  • Объявить функцию inline с reified T
  • Добавить ограничение T : Any
  • Заменить T::class.java на T.javaClass
  • Сделать функцию членом класса, а не расширением

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

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

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

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