【问题标题】:getDeclaredMethod in Kotlin?Kotlin 中的 getDeclaredMethod?
【发布时间】:2020-03-17 08:23:13
【问题描述】:

我对 kotlin 中的“getDeclaredMethod”有疑问。

我有一堂课:

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 []

我做错了什么?

【问题讨论】:

    标签: java android kotlin methods


    【解决方案1】:

    在调试模式下查看c.java.declaredMethods。方法setVal_value_1 存在,但有一个String 类型的参数。

    所以要使c.java.getDeclaredMethod 工作,您必须使用两个参数调用它:方法名称和String::class.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多