Несовпадение типов Kotlin с обобщениями в общих настройках
Я начинаю писать приложение для Android, используя Kotlin, и наткнулся на проблему, когда пытался написать универсальную функцию для обработки чтения из SharedPreferences
Я читал о !
запись в документах Kotlin, но я до сих пор не знаю, как решить эту проблему.
Вот код на случай, если кто-то захочет скопировать его:
fun <T> read(context: Context, key: String, defValue: T?): T? {
return when (defValue) {
is String? -> getPreferences(context).getString(key, defValue)
is Int -> getPreferences(context).getInt(key, defValue)
else -> null
}
}