Как получить возвращаемое значение в обобщенной функции? - PullRequest
0 голосов
/ 31 мая 2018

Пожалуйста, посмотрите на пример кода:

fun <T> query(sql: String, params: JsonArray): T? {
    val row = otherfun(sql, params) 
    return row.mapTo(T)
}

Как передать в функцию mapTo (Class klz) (это функция Java) правильный аргумент?

1 Ответ

0 голосов
/ 31 мая 2018

Вам нужно сделать вашу функцию reified (и, следовательно, inline), а затем вы можете использовать ::class.java, чтобы получить экземпляр Class:

inline fun <reified T> query(sql: String, params: JsonArray): T? {
    val row = otherfun(sql, params)
    return row.mapTo(T::class.java)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...