Articles of kotlin reified type parameters

Неправильный вывод для параметра типа reified в Котлине

Учитывая следующий код в Котлине: import com.fasterxml.jackson.module.kotlin.* data class MyReply<R> ( val results : Array<R>? = null ) class ErrorClient() { val JSON = jacksonObjectMapper() inline fun<reified R> request(): Array<R>? { val json_in = """{"results": [2]}""" val res: MyReply<R> = JSON.readValue(json_in) return res.results } fun read(): Array<Int>? { val res: Array<Int>? = request() return res […]

Как избежать метода класса фабрики kotlin по подтипу?

у меня вопрос о котлине: Представьте, что у вас есть это: sealed class Graph : Serializable data class Graph1() : Graph() {} data class Graph2() : Graph() {} И вы хотите иметь фабричный класс, который задает подтип Graph, дает вам GraphView. Итак, у вас есть что-то похожее interface GraphViewFactory{ fun get(data: Graph1):GraphView fun get(data: Graph2):GraphView […]

общие интерфейсы с методами reified

У меня есть несколько объектов для переопределения памяти: interface reinterpreter<T> { operator fun get(index: Int): T operator fun set(index: Int, value: T): Any } object vec1bData : reinterpreter<Vec1b> { override operator fun get(index: Int) = Vec1b(data, index * Vec1b.size) override fun set(index: Int, value: Vec1b) = value.to(data, index * Vec1b.size) } но когда я печатаю […]

Функция типа Ketlin reified как расширение функции – Вызывается с Java?

Я пытаюсь использовать функцию с типом reified как функцию расширения, но я не думаю, что это возможно, потому что после того, как я проверил сгенерированный байт-код, я обнаружил, что подпись метода является частной, любая работа, чтобы сделать ее общедоступной? CommonExtensions.kt inline fun<reified T: Activity> Context.startActivity() { val intent = Intent(this, T:: class.java) startActivity(intent) } fun […]

Что делает ключевое слово reified в Kotlin?

Я пытаюсь понять цель ключевого слова reified, видимо, это позволяет нам размышлять над дженериками . Однако, когда я оставляю это, он работает так же хорошо. Кто-нибудь должен объяснить, когда это имеет реальное значение?