getDeclaredMethod в Kotlin? - PullRequest
       1

getDeclaredMethod в Kotlin?

0 голосов
/ 17 марта 2020

У меня есть вопрос о getDeclaredMethod в kotlin.

У меня есть класс:

class WorksheetFreeField : Serializable {

@SerializedName("val_value_1")
var val_value_1: String? = ""
@SerializedName("val_value_2")
var val_value_2: String? = ""
@SerializedName("val_value_3")
var val_value_3: String? = ""

Теперь я пытаюсь это:

try {
            val c = WorksheetFreeField::class
            for (field in fields) {
                val method = c.java.getDeclaredMethod("setVal_value_" + field.order)

Теперь я получил эту ошибку в моем улове:

com.werkbon.objects.WorksheetFreeField.setVal_value_1 []

Что я сделал не так?

1 Ответ

0 голосов
/ 17 марта 2020

Посмотрите на c.java.declaredMethods в режиме отладки. Метод setVal_value_1 существует, но имеет параметр типа String.

Таким образом, чтобы c.java.getDeclaredMethod работал, вы должны вызвать его с двумя параметрами: имя метода и String::class.java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...