Списокгенерируется вместо List <Something> - PullRequest
0 голосов
/ 03 марта 2019

У меня есть вызов службы, который возвращает ответ JSON, который затем передается через менеджер данных, который преобразует данные, если служба работает успешно, или создает тело ошибки, если вызов является ошибкой.

Диспетчер данныхнаписан на kotlin, и конкретная строка кода, которая меня интересует, это

val mutableList = mutableListOf<Address>()
return Result.error(errorTransformation(serviceErrors, mutableList))

Мой класс errorTransformation в основном является вызовом Exception, и он написан на Java.Конструктор для класса исключения:

ExceptionClass(ServiceErrors serviceError ,List<Address> address){
    // initiialize fields here
}

. Теперь, когда я пытаюсь инициализировать мой класс исключения, он говорит, что найден соответствующий конструктор, и он показывает мне предложение сгенерировать его с синтаксисом

ExceptionClass(ServiceErrors serviceError ,List<? extends Address> address){
    // initiialize fields here
}
*.1011 * Почему это происходит?Я хочу только List<Address>, а не List<? extends Address>.

1 Ответ

0 голосов
/ 04 марта 2019

Это kotlin специфическое поведение для неявного использования List<? extends Address> вместо List<Address>.Вы можете заставить kotlin сгенерировать именно то, что вам нужно, используя @JvmSuppressWildcards аннотацию

val mutableList = mutableListOf<@JvmSuppressWildcards Address>()
...