Я пытаюсь проверить параметр "type":
class MyConverter : Converter.Factory() {
override fun responseBodyConverter(
type: Type,
annotations: Array<Annotation>,
retrofit: Retrofit
): Converter<ResponseBody, *> {
if (type is UserSettings) // Compiler complains of incompatible types
return HtmlConverter.INSTANCE
else
return null
}
class HtmlConverter : Converter<ResponseBody, UserSettings> {
companion object {
val INSTANCE = HtmlConverter()
}
}
}
Но строка кода:
if (type is UserSettings)
дает мне ошибку компиляции, указывающую, что "тип несовместим с UserSettings"
Но если я печатаю type.toString () в журнал, он показывает, что тип - UserSettings. Так что я не понимаю, в чем проблема. Подобный код Java работает нормально, но этот код Kotlin - нет. Должно быть, я что-то не так делаю в Котлине.